第3章_CC2530接口之TinyOS組件編程1(GPIO)_第1頁(yè)
第3章_CC2530接口之TinyOS組件編程1(GPIO)_第2頁(yè)
第3章_CC2530接口之TinyOS組件編程1(GPIO)_第3頁(yè)
第3章_CC2530接口之TinyOS組件編程1(GPIO)_第4頁(yè)
第3章_CC2530接口之TinyOS組件編程1(GPIO)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、TinyOS & NesC編程TinyOS & NesC Programming第3章 CC2530接口之TinyOS組件編程1(GPIO)- 2 -3.2 I/O CC2530包括包括3個(gè)個(gè)8位輸入位輸入/輸出(輸出(I/O)端口,分別是)端口,分別是P0、P1和和P2。其中。其中P0和和P1有有8個(gè)引腳,個(gè)引腳,P2有有5個(gè)引腳,共個(gè)引腳,共21個(gè)數(shù)字個(gè)數(shù)字I/O引腳引腳 ,具有以下功能:,具有以下功能:l 通用通用I/Ol 外設(shè)外設(shè)I/Ol 外部中斷源輸入口外部中斷源輸入口l 弱上拉輸入或推拉輸出弱上拉輸入或推拉輸出 - 3 -3.2.1 通用通用I/O 用作通用用作通用

2、I/O時(shí),引腳可以組成時(shí),引腳可以組成3個(gè)個(gè)8位端口,端口位端口,端口0、端口、端口1和端口和端口2,三個(gè)端,三個(gè)端口分別用口分別用P0、P1和和P2來(lái)表示來(lái)表示 所有的端口均可以通過(guò)所有的端口均可以通過(guò)SFR寄存器寄存器P0、P1和和P2進(jìn)行位尋址和字節(jié)尋址進(jìn)行位尋址和字節(jié)尋址 每個(gè)端口引腳都可以單獨(dú)設(shè)置為通用每個(gè)端口引腳都可以單獨(dú)設(shè)置為通用I/O或外部設(shè)備或外部設(shè)備I/O 其中其中P1.0和和P1.1具備具備20mA的輸出驅(qū)動(dòng)能力,其他所有的端口只具備的輸出驅(qū)動(dòng)能力,其他所有的端口只具備4mA的的輸出驅(qū)動(dòng)能力輸出驅(qū)動(dòng)能力 - 4 -3.2.1 通用通用I/O 通用通用I/O配置寄存器(其中

3、配置寄存器(其中x表示表示0,1,2) 功能寄存器功能寄存器PxSEL 方向寄存器方向寄存器PxDIR 工作模式寄存器工作模式寄存器PxINP- 5 -3.2.1 通用通用I/O 配置寄存器配置寄存器PxSEL(其中(其中x表示表示0,1,2) 寄存器寄存器PxSEL用來(lái)設(shè)置端口的每個(gè)引腳為通用用來(lái)設(shè)置端口的每個(gè)引腳為通用I/O或者是外部設(shè)備或者是外部設(shè)備I/O(復(fù)位(復(fù)位之后,所有的數(shù)字輸入、輸出引腳都設(shè)置為通用輸入引腳)之后,所有的數(shù)字輸入、輸出引腳都設(shè)置為通用輸入引腳) 以以P0SEL為例講解為例講解位位名稱名稱復(fù)位復(fù)位R/W描述描述7:0SELP07:00 x00R/WP0.7P0.0

4、功能選擇功能選擇0:通用:通用I/O1:外設(shè):外設(shè)I/O/P0.4和和P0.5設(shè)置為普通的設(shè)置為普通的I/O口口P0SEL &= 0 x30;/P0.4和和P0.5設(shè)置為外設(shè)的設(shè)置為外設(shè)的I/O口口P0SEL |= 0 x30;3.2.1 通用通用I/O 配置寄存器配置寄存器PxDIR(其中(其中x表示表示0,1,2) 如果需要改變端口引腳方向,需要使用寄存器如果需要改變端口引腳方向,需要使用寄存器PxDIR來(lái)設(shè)置每個(gè)端口引腳的來(lái)設(shè)置每個(gè)端口引腳的輸入和輸出輸入和輸出 以以P0DIR為例講解為例講解/P0.4和和P0.5設(shè)為輸入設(shè)為輸入P0DIR &= 0 x30;/P0.4和

5、和P0.5設(shè)置為輸出低電平設(shè)置為輸出低電平P0_4 = 0; P0_5 = 0;/P1.0和和P1.1設(shè)置為輸出設(shè)置為輸出P1DIR |= 0 x03;/P1.0和和P1.1設(shè)置為輸出高電平設(shè)置為輸出高電平P1_0 = 1;P1_1 = 1;位位名稱名稱復(fù)位復(fù)位R/W描述描述7:0DIRP07:00 x00R/WP0.7P0.0的的I/O方向選擇方向選擇0:輸入:輸入1:輸出:輸出3.2.1 通用通用I/O 配置寄存器配置寄存器PxINP(其中(其中x表示表示0,1,2) 復(fù)位之后,所有的端口均設(shè)置為帶上拉的輸入。用作輸入時(shí),通用復(fù)位之后,所有的端口均設(shè)置為帶上拉的輸入。用作輸入時(shí),通用I/O

6、端口引端口引腳可以設(shè)置為上拉、下拉或三態(tài)操作模式。其中腳可以設(shè)置為上拉、下拉或三態(tài)操作模式。其中P1.0和和P1.1端口沒(méi)有上拉和端口沒(méi)有上拉和下拉功能。上拉、下拉或三態(tài)操作模式寄存器由下拉功能。上拉、下拉或三態(tài)操作模式寄存器由PxINP設(shè)置設(shè)置 以以P0INP為例講解為例講解/P0.4和和P0.5設(shè)置為三態(tài)設(shè)置為三態(tài)P0INP |= 0 x30;/P2.0和和P2.1設(shè)置上拉狀態(tài)設(shè)置上拉狀態(tài)P2INP &= 0 x03;位位名稱名稱復(fù)位復(fù)位R/W描述描述7:0MDP07:00 x00R/WP0.7P0.0的的I/O輸入模式功能選擇輸入模式功能選擇0:上拉:上拉/下拉下拉1:三態(tài):三態(tài)

7、- 8 -3.2.1 通用通用I/O 注意寄存器注意寄存器P2INP可以配置可以配置P0、P1和和P2端口為上拉或下拉。端口為上拉或下拉。/P0端口為上拉輸入端口為上拉輸入P2INP |= 0 x80;位位名稱名稱復(fù)位復(fù)位R/W描述描述7PDUP20R/W端口端口2上拉上拉/下拉選擇,對(duì)所有的端口下拉選擇,對(duì)所有的端口2引腳設(shè)置為上引腳設(shè)置為上拉拉/下拉輸入下拉輸入0:上拉:上拉1:下拉:下拉6PDUP10R/W端口端口1上拉上拉/下拉選擇,對(duì)所有的端口下拉選擇,對(duì)所有的端口1引腳設(shè)置為上引腳設(shè)置為上拉拉/下拉輸入下拉輸入0:上拉:上拉1:下拉:下拉5PDUP00R/W端口端口0上拉上拉/下拉

8、選擇,對(duì)所有的端口下拉選擇,對(duì)所有的端口0引腳設(shè)置為上引腳設(shè)置為上拉拉/下拉輸入下拉輸入0:上拉:上拉1:下拉:下拉4:0MDP24:000000R/WP2.4P2.0的的I/O輸入模式功能選擇輸入模式功能選擇0:上拉:上拉/下拉下拉1:三態(tài):三態(tài)3.2.1 通用通用I/O 通用通用I/O相關(guān)接口與組件相關(guān)接口與組件 接口:接口:GeneralIO 組件:組件: HplCC2530GeneralIOC, HplGeneralIOC3.2.1 通用通用I/O 接口:接口:GeneralIO3.2.1 通用通用I/O 組件:組件: HplCC2530GeneralIOC3.2.1 通用通用I/O

9、組件:組件: HplCC2530GeneralIOC3.2.1 通用通用I/O 組件:組件: HplGeneralIOC3.2.1 通用通用I/O 所給節(jié)點(diǎn)的所給節(jié)點(diǎn)的LED連接連接3.2.1 通用通用I/O 所給節(jié)點(diǎn)的按鍵連接所給節(jié)點(diǎn)的按鍵連接3.2.1 通用通用I/O 組件:組件: HplGeneralIOC- 17 -3.2.1 通用通用I/O 通過(guò)通過(guò)掃描方式實(shí)現(xiàn)按鍵觸發(fā)掃描方式實(shí)現(xiàn)按鍵觸發(fā)LED亮滅。利用亮滅。利用按鍵按鍵S2控制控制LED1和和LED2。當(dāng)按。當(dāng)按下下S2時(shí)時(shí),LED1狀態(tài)改變;狀態(tài)改變;當(dāng)放開(kāi)當(dāng)放開(kāi)S2時(shí)時(shí),LED2狀態(tài)改變狀態(tài)改變 按鍵按鍵S2由由P0.5控制;

10、控制;LED1和和LED2分別由分別由P1.0和和P1.1控制控制 按鍵的初始化:按鍵的初始化:將將P0.5設(shè)為普通設(shè)為普通I/O口,并且設(shè)置為輸入狀態(tài)口,并且設(shè)置為輸入狀態(tài) LED初始化:將初始化:將P1.0和和P1.1設(shè)置為輸出且將設(shè)置為輸出且將LED1和和LED2關(guān)閉關(guān)閉 采用按鍵檢測(cè)的方法來(lái)控制采用按鍵檢測(cè)的方法來(lái)控制LED狀態(tài)的改變:當(dāng)檢測(cè)到狀態(tài)的改變:當(dāng)檢測(cè)到S2按下按下時(shí),時(shí),LED1狀態(tài)改變;狀態(tài)改變;當(dāng)檢測(cè)到當(dāng)檢測(cè)到S2放開(kāi)時(shí)放開(kāi)時(shí),LED2狀態(tài)改變狀態(tài)改變 - 18 -3.2.2 通用通用I/O中斷中斷 在設(shè)置在設(shè)置I/O口的中斷時(shí)必須要將其設(shè)置為輸入狀態(tài),通過(guò)外部信號(hào)的上

11、升或下口的中斷時(shí)必須要將其設(shè)置為輸入狀態(tài),通過(guò)外部信號(hào)的上升或下降沿觸發(fā)中斷。通用降沿觸發(fā)中斷。通用I/O的所有的外部中斷共用一個(gè)中斷向量,根據(jù)中斷標(biāo)志的所有的外部中斷共用一個(gè)中斷向量,根據(jù)中斷標(biāo)志位來(lái)判斷是哪個(gè)引腳發(fā)生中斷位來(lái)判斷是哪個(gè)引腳發(fā)生中斷 通用通用I/O中斷寄存器有三類:中斷使能寄存器、中斷狀態(tài)標(biāo)志寄存器和中斷控中斷寄存器有三類:中斷使能寄存器、中斷狀態(tài)標(biāo)志寄存器和中斷控制寄存器制寄存器 中斷使能寄存器包括中斷使能寄存器包括IENx和和PxIEN(其中(其中x代表代表0、1、2),其功能是使),其功能是使I/O口進(jìn)行中斷使能口進(jìn)行中斷使能中斷狀態(tài)標(biāo)志寄存器包括中斷狀態(tài)標(biāo)志寄存器包括

12、PxIFG,其功能是當(dāng)發(fā)生中斷時(shí),其功能是當(dāng)發(fā)生中斷時(shí),I/O口所對(duì)應(yīng)的中斷狀態(tài)標(biāo)口所對(duì)應(yīng)的中斷狀態(tài)標(biāo)志將自動(dòng)置志將自動(dòng)置1。中斷控制寄存器為中斷控制寄存器為PICTL,其功能是控制,其功能是控制I/O口的中斷觸發(fā)方式??诘闹袛嘤|發(fā)方式。- 19 - 中斷使能寄存器中斷使能寄存器IENx(其中(其中x為為0,1,2) IENx寄存器包括三個(gè)八位寄存器:寄存器包括三個(gè)八位寄存器:IEN0、IEN1和和IEN2。IENx中斷主要是配中斷主要是配置總中斷和置總中斷和P02端口的使能端口的使能 IEN1.P0 IE:P0端口中斷使能。端口中斷使能。 IEN2.P1 IE:P1端口中斷使能。端口中斷使能

13、。 IEN2.P2 IE:P2端口中斷使能。端口中斷使能。3.2.2 通用通用I/O中斷中斷- 20 - IEN0寄存器的第寄存器的第7位可以控制位可以控制CC2530所有中斷的使能。所有中斷的使能。IEN0的其他位控制的其他位控制定時(shí)器、串口、定時(shí)器、串口、RF等外設(shè)功能中斷等外設(shè)功能中斷 位位名稱名稱復(fù)位復(fù)位R/W描述描述7EA0R/W禁止所有中斷禁止所有中斷0:無(wú)中斷被確認(rèn):無(wú)中斷被確認(rèn) 1:通過(guò)設(shè)置對(duì)應(yīng)的使能位將每個(gè)中:通過(guò)設(shè)置對(duì)應(yīng)的使能位將每個(gè)中斷源分別使能和禁止斷源分別使能和禁止6-0R0保留保留5STIE0R/W睡眠定時(shí)器中斷使能睡眠定時(shí)器中斷使能0:中斷禁止:中斷禁止 1:中斷

14、使能:中斷使能4ENCIE0R/WAES加密加密/解密中斷使能解密中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能3URX1IE0R/WUSART1 RX中斷使能中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能2URX0IE0R/WUSART0 RX中斷使能中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能1ADCIE0R/WADC中斷使能中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能0RFERRIE0R/WRF TX/RX FIFO中斷使能中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能3.2.2 通用通用I/O中斷中斷- 21 - IEN1寄存器的第寄存器的第

15、5位控制位控制P0口的中斷,當(dāng)設(shè)置口的中斷,當(dāng)設(shè)置IEN1.P0IE時(shí),將設(shè)置時(shí),將設(shè)置P0端口端口所有引腳的中斷使能,即所有引腳的中斷使能,即P0.0P0.7引腳全部中斷使能引腳全部中斷使能 位位名稱名稱復(fù)位復(fù)位R/W描述描述7:6-00R0保留保留5P0IE0R/W端口端口0中斷使能中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能4T4IE0R/W定時(shí)器定時(shí)器4中斷使能中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能3T3IE0R/W定時(shí)器定時(shí)器3中斷使能中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能2T2IE0R/W定時(shí)器定時(shí)器2中斷使能中斷使能0:中斷禁止:中斷禁止

16、 1:中斷使能:中斷使能1T1IE0R/W定時(shí)器定時(shí)器1中斷使能中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能0DMAIE0R/WDMA中斷使能中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能/端口0中斷使能IEN1 |= 0 x20;3.2.2 通用通用I/O中斷中斷- 22 -IEN2寄存器的第寄存器的第4位和第位和第1位分別控制位分別控制P1端口和端口和P2端口的中斷,當(dāng)設(shè)置端口的中斷,當(dāng)設(shè)置IEN2.P1IE和和IEN2.P2IE時(shí),時(shí),將設(shè)置將設(shè)置P1端口和端口和P2端口所有引腳的中斷使能,即端口所有引腳的中斷使能,即P1.0P1.7引腳和引腳和P2.0P2.4引腳全部

17、中斷使能引腳全部中斷使能 位位名稱名稱復(fù)位復(fù)位R/W描述描述7:6-00R0保留保留5WDTIE0R/W看門狗定時(shí)器中斷使能看門狗定時(shí)器中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能4P1IE0R/W端口端口1中斷使能中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能3UTX1IE0R/WUSART1 TX中斷使能中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能2UTX0IE0R/WUSART2 TX中斷使能中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能1P2IE0R/W端口端口2中斷使能中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能0RFIE0R/WRF一般

18、中斷使能一般中斷使能0:中斷禁止:中斷禁止 1:中斷使能:中斷使能/端口1中斷使能IEN2 |= 0 x10;/端口0中斷使能IEN2 |= 0 x02;3.2.2 通用通用I/O中斷中斷- 23 - 中斷使能寄存器中斷使能寄存器PxIEN(其中(其中x為為0,1,2) PxIEN寄存器是設(shè)置端口的某一個(gè)引腳中斷使能,寄存器是設(shè)置端口的某一個(gè)引腳中斷使能,PxIEN有三個(gè)寄存器有三個(gè)寄存器P0IEN、P1IEN和和P2IEN 以以P0IEN為例講解為例講解位位名稱名稱復(fù)位復(fù)位R/W描述描述7:0P0IEN7:00 x00R/W端口端口0 P0.7P0.0中斷使能中斷使能0:中斷禁止:中斷禁止1

19、:中斷使能:中斷使能/P0.4、P0.5中斷使能中斷使能P0IEN |= 0 x30;3.2.2 通用通用I/O中斷中斷- 24 - 中斷狀態(tài)標(biāo)志寄存器中斷狀態(tài)標(biāo)志寄存器PxIFG (其中(其中x為為0,1,2) PxIFG寄存器是中斷狀態(tài)標(biāo)志寄存器,由于寄存器是中斷狀態(tài)標(biāo)志寄存器,由于CC2530的外部中斷共用一個(gè)中的外部中斷共用一個(gè)中斷向量,因此需要判斷是哪個(gè)引腳發(fā)生中斷,通過(guò)判斷斷向量,因此需要判斷是哪個(gè)引腳發(fā)生中斷,通過(guò)判斷PxIFG寄存中的中斷寄存中的中斷狀態(tài)標(biāo)志位可以判斷哪個(gè)引腳發(fā)生中斷。狀態(tài)標(biāo)志位可以判斷哪個(gè)引腳發(fā)生中斷。PxIFG寄存器有三個(gè),分別是寄存器有三個(gè),分別是P0IF

20、G、P1IFG和和P2IFG 以以P0IFG為例講解為例講解/判斷端口判斷端口0是否有中斷標(biāo)志發(fā)生是否有中斷標(biāo)志發(fā)生if(P0IFG0) .位位名稱名稱復(fù)位復(fù)位R/W描述描述7:0P0IF7:00 x00R/W端口端口0 P0.7P0.0中斷狀態(tài)標(biāo)志中斷狀態(tài)標(biāo)志0:未發(fā)生中斷:未發(fā)生中斷1:發(fā)生中斷:發(fā)生中斷3.2.2 通用通用I/O中斷中斷- 25 - 中斷控制寄存器中斷控制寄存器PICTL (其中(其中x為為0,1,2) I/O口發(fā)生中斷除了配置中斷使能之外,還需要配置中斷觸發(fā)方式。中斷觸發(fā)口發(fā)生中斷除了配置中斷使能之外,還需要配置中斷觸發(fā)方式。中斷觸發(fā)方式可由端口中斷控制寄存器方式可由端

21、口中斷控制寄存器PICTL設(shè)置。設(shè)置。I/O中斷觸發(fā)方式分為輸入的上升中斷觸發(fā)方式分為輸入的上升沿觸發(fā)和輸入的下降沿觸發(fā)沿觸發(fā)和輸入的下降沿觸發(fā)/P0.4和和P0.5為下降沿觸發(fā)中斷為下降沿觸發(fā)中斷PICTL |= 0 x01;位位名稱名稱復(fù)位復(fù)位R/W描述描述7PADSC00R0控制控制I/O引腳在輸出模式下的驅(qū)動(dòng)能力,選擇輸出驅(qū)動(dòng)能力來(lái)引腳在輸出模式下的驅(qū)動(dòng)能力,選擇輸出驅(qū)動(dòng)能力來(lái)補(bǔ)償引腳補(bǔ)償引腳DVDD的低的低I/O電壓(為了確保在較低的電壓下的驅(qū)動(dòng)電壓(為了確保在較低的電壓下的驅(qū)動(dòng)能力和較高電壓下的驅(qū)動(dòng)能力相同)。能力和較高電壓下的驅(qū)動(dòng)能力相同)。0:最小驅(qū)動(dòng)能力增強(qiáng),:最小驅(qū)動(dòng)能力增

22、強(qiáng),DVDD1/2等于或大于等于或大于2.6V1:最大驅(qū)動(dòng)能力增強(qiáng),:最大驅(qū)動(dòng)能力增強(qiáng),DVDD1/2小于小于2.6V6:4-000R0保留保留3P2ICON0R/W端口端口2的的P2.4P2.0輸入模式下的中斷配置,該位為所有端口輸入模式下的中斷配置,該位為所有端口2的的輸入輸入P2.4P2.0選擇中斷請(qǐng)求條件選擇中斷請(qǐng)求條件0:輸入的上升沿引起中斷:輸入的上升沿引起中斷1:輸入的下降沿引起中斷:輸入的下降沿引起中斷2P1ICONH0R/W端口端口1的的P1.7P1.4輸入模式下的中斷配置,該位為所有端口輸入模式下的中斷配置,該位為所有端口1的的輸入輸入P1.7P1.4選擇中斷請(qǐng)求條件選擇中斷請(qǐng)求條件0:輸入的上升沿引起中斷:輸入的上升沿引起中斷1:輸入的下降沿引起中斷:輸入的下降沿引

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論