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

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

AVR單片機(jī)I/O寄存器的C語言源程序及剖析詳解

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年04月09日   【字體:

I/O寄存器的C語言源程序及剖析

  在ICCAVR中訪問0x00~0x3f的寄存器空間,可以使用內(nèi)匯編和預(yù)處理宏。一個(gè)數(shù)據(jù)內(nèi)存地址可以通過加指針類型符號(hào)直接訪問。

例如,SREG寄存器的地址是0x5f,對(duì)它的訪問操作:

  unsigned char c;

  c=*(volatile unsigned char *)0x5f;//讀取SREG寄存器

  *(volatile unsigned char *)0x5f|=0x80;//打開全局中斷允許位

 提示:數(shù)據(jù)內(nèi)存地址0x00~0x31指向CPU通用寄存器R0~R31,不能隨意修改它們的地址(或者輸入錯(cuò)誤的地址),否則可能會(huì)造成致命的錯(cuò)誤。

  ICCAVR C在io*v.h文件中用define偽指令給大部分的寄存器定義了指針形式符號(hào),如定義SREG:#define SREG *(volatile unsigned char *)0x5f

上面對(duì)SREG的操作也可以改為:

  unsigned char c;

   c=SREG;//讀取SREG寄存器

   SREG|=0X80;//打開全局中斷允許位

說明:

   1.在ICCAVR中對(duì)I/O寄存器進(jìn)行操作,編譯器自動(dòng)生成用于訪問I/O寄存器的專用指令,如IN、OUT、BSET、BCLR等,而且已將地址0X5F變換為0x3f。

   2.#define語句也可以定義絕對(duì)內(nèi)存空間,用以指向一個(gè)固定地址的字節(jié),如:#define LED_OUT *(volatile unsigned char *)0x80aa


 

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 亚洲精品粉嫩美女一区 | 久久久99国产精品免费 | 久久成人18免费网站 | 国产视频h| 亚洲精品久久久久久国产精华液 | 伊人伊人伊人 | 天天天操操操 | 干干天天 | av免费网址| 欧美二区三区 | 蜜桃视频一区二区三区 | 免费在线观看黄视频 | 涩涩导航| 亚洲国产视频一区二区 | 免费骚视频 | 99久久精品免费看国产小宝寻花 | 国产精品国产精品国产专区不卡 | 欧美性tv| 精品福利一区 | 亚洲午夜一区二区 | 日韩精品一区二区三区老鸭窝 | 日本欧美在线 | 日韩免费在线视频 | 日本成人毛片 | 波多野结衣先锋影音 | 99热在线观看精品 | 国产人成在线观看 | 国际精品鲁一鲁一区二区小说 | 精品少妇v888av| 国产精品国产三级国产aⅴ原创 | 欧美极品少妇xxxxⅹ免费视频 | 日韩欧美精品在线播放 | 午夜影院官网 | 国产精品久久久久久久久久久久久久 | 日日射影院 | 国产中文字幕在线 | 亚洲国产日韩欧美 | 奇米久久| 农夫在线精品视频免费观看 | 日韩精品一二三 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 |