51單片機(jī) bit定義標(biāo)志位無效原因
我的51程序中用到了位定義:bit flag;
這樣定義后,運(yùn)行程序,下載到電路板上,發(fā)現(xiàn)flag根本不是按照自己設(shè)定的值,導(dǎo)致函數(shù)判斷錯(cuò)誤;后來查找到了原因
將keil中options中 target中 Memory Mode中要選擇下圖那兩種方式才行;設(shè)置好后運(yùn)行程序到電路板,果然成功正確運(yùn)行了;
原因:之前設(shè)置成 Small:in DATA了,因?yàn)閎it變量是位可尋址變量,而在51單片機(jī)RAM中有單獨(dú)的區(qū)域是可位尋址的,那就是 PDATA區(qū),至于為什么選擇XDATA也可以,
那是因?yàn)閄DATA區(qū)已經(jīng)包括PDATA區(qū)了;
相關(guān)文章
- 富士通數(shù)字退火芯片DAU明年登場[18年05月19日 12:37]
- 高通總裁拜訪OPPO,傳拿下R15S訂單[18年05月19日 12:37]
- 經(jīng)濟(jì)學(xué)人:臺(tái)積電先進(jìn)制程將超越英特爾[18年05月19日 12:36]
- 高通恩智浦并購獲批前景樂觀 恩智浦股價(jià)創(chuàng)本周最大漲幅[18年05月19日 12:35]
- 共建智慧家庭美好未來!2018中國智慧家庭高峰論壇精彩盤點(diǎn)[18年05月19日 12:33]
- 樂鑫ESP32開發(fā)板正式通過Amazon FreeRTOS的驗(yàn)證[18年05月18日 21:30]