久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2494|回復: 1
打印 上一主題 下一主題
收起左側

問大家c51定義a為idata改成data程序運行和正常不一樣,什么原因?

[復制鏈接]
跳轉到指定樓層
樓主
ID:315153 發表于 2018-6-29 22:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 jimjassdf 于 2018-6-30 12:02 編輯

問大家c51定義int idata a改成int a程序編譯不出錯,運行和正常不一樣,什么原因?謝謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:279005 發表于 2018-12-19 15:13 | 只看該作者
人個經驗:不建議使用idata,idata會使用SFR特殊功能寄存器0x80H~0xFF,因為這塊通常用于中斷與函數調用的堆棧,程序處理不好的話會有沖突,導致程序異常。

Keil C51 語言中的關鍵字,代表了 RAM 不同區域的劃分

data:片內 RAM 從 0x00~0x7F
idata:片內 RAM 從 0x00~0xFF
pdata:片外 RAM 從 0x00~0xFF
xdata:片外 RAM 從 0x0000~0xFFFF


在 Keil 默認設置下, data 是可以省略的,即什么都不加的時候變量就是定義到 data 區域中的。 

data 區域 RAM 的訪問在匯編語言中用的是直接尋址,執行速度是最快的。如果你定義成 idata,不僅僅可以訪問 data 區域,還可以訪問 0x80H~0xFF 的范圍,但加了 idata 關鍵字后,訪問的時候 51 單片機用的是通用寄存器間接尋址,速度較 data會慢一些。

而且我們平時大多數情況下不太希望訪問到 0x80H~0xFF,因為這塊通常用于中斷與函數調用的堆棧, 所以在絕大多數情況下,我們使用內部 RAM 的時候,只用 data 就可以了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天草天天干 | 午夜天堂精品久久久久 | 日韩久久综合网 | 久久av影院| 天天爱天天操 | 在线不卡 | 色婷婷一区二区三区四区 | 九九久久久 | 日韩精品一区二区三区免费观看 | 午夜无码国产理论在线 | 99精品在线免费观看 | 国产欧美一级二级三级在线视频 | 日韩亚洲视频在线 | 国产精品7777777 | 999热精品视频 | 亚洲九九色 | 超碰97免费在线 | 亚洲精品成人av | 日韩欧美中文在线 | 精品九九久久 | 日本中文字幕日韩精品免费 | 欧美一区二不卡视频 | 国产精品国产馆在线真实露脸 | 大象视频一区二区 | 精品欧美一区二区三区久久久 | 久久av在线播放 | 日韩在线一区二区三区 | 成人欧美一区二区三区在线播放 | 人人射人人 | 一区二区三区在线免费 | 国产精品亚洲一区二区三区在线 | 国产精品免费一区二区三区 | 欧美精品二区三区 | 亚洲麻豆 | 精品国产黄a∨片高清在线 www.一级片 国产欧美日韩综合精品一区二区 | aa级毛片毛片免费观看久 | 亚洲精品成人免费 | 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | 日韩欧美中文 | 日韩精品一区二区三区中文在线 | 国产精品久久久久久久免费大片 |