日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

AT91RMM9200的PIO使用与设置

發(fā)布時(shí)間:2024/1/18 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AT91RMM9200的PIO使用与设置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


本文來(lái)自:http://www.hyesco.com/forum/dispbbs.asp?boardID=5&ID=460&page=1
AT91RM9200管理PA,PB,PC,PD四個(gè)PIO,每個(gè)PIO都可以被設(shè)置工作在GPIO或者外設(shè)I/O狀態(tài)下,但是要注意,要使能某個(gè)引腳的GPIO功能時(shí),不能和該引腳的外設(shè)I/O功能發(fā)生沖突,只能使其工作在一個(gè)特定的狀態(tài)下。


1。配置PIO工作在GPIO模式


以PB0為例,如果要使其工作在GPIO模式,則首先要使能PIO控制器,設(shè)置:


*(AT91C_PIOB_PER)=0x1;


然后或者把PB0作為輸出,或者作為輸入。如果作為輸出口,設(shè)置:


*(AT91C_PIOB_OER)=0x1;


向使能為輸出口的PB0寫入一個(gè)數(shù),設(shè)置:


*(AT91C_PIOB_SODR)=0x1;//寫入1


*(AT91C_PIOB_CODR)=0x1;//寫入 0


如果要把PB0作為輸入口,則配置:


*(AT91C_PMC_PCER)|=0x1 << AT91C_ID_PIOB;//Enable PIOB MCK


*(AT91C_PIOB_ODR)=0x1; //Enable PB0 Input
很多用戶忽略了上面的設(shè)置,結(jié)果讀不到口的狀態(tài),如果使能了外設(shè)時(shí)鐘,則讀端口


狀態(tài)設(shè)置:


int status;


status=*(AT91C_PIOB_PDSR)&0x01;


status反映了當(dāng)前PB0口的電平,即status=0或1;


以上的過(guò)程就是如何配置一個(gè)I/O口作為通用I/O來(lái)使用。


2。配置PIO工作在外設(shè)I/O模式


仍以PB0為例,如果要使PB0工作在外設(shè)A模式或者B模式下,首先要禁止PIO控制器,設(shè)置:


*(AT91C_PIOB_PDR)=0x1;


如果要設(shè)置PB0為A功能,即TF0,則設(shè)置:


*(AT91C_PIOB_ASR)=0x1;


如果要設(shè)置PB0為B功能,即RTS3,則設(shè)置:


*(AT91C_PIOB_BSR)=0x1;


這時(shí),PB0就不再受PIO控制器的管理而工作在外設(shè)引腳模式下了。


必須指出:AT91RM9200的所有外設(shè)引腳在使用之前必須進(jìn)行步驟2的設(shè)置,否則該引腳無(wú)法使用。


總結(jié)

以上是生活随笔為你收集整理的AT91RMM9200的PIO使用与设置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。