基于LPC2104的智能燈光控制器原理及設(shè)計(jì)
6 無線模塊軟件設(shè)計(jì)
無線模塊通過UART串口與系統(tǒng)相連,所以必須對UART進(jìn)行初始化,LPC2104的UART串口符合RS232標(biāo)準(zhǔn),也支持550工業(yè)標(biāo)準(zhǔn)。
LPC2104有兩個通用的異步串行接口(UART),啟動時UART默認(rèn)狀態(tài)是無法使用的,必須通過編程GPIO寄存器來使能它們。
本系統(tǒng)使用UART1與nRF401進(jìn)行連接,UART1帶有調(diào)制解調(diào)器接口,16字節(jié)接收和發(fā)送FIFO。內(nèi)置波特率發(fā)生器以及包含標(biāo)準(zhǔn)的調(diào)制解調(diào)器接口信號。
在使用UART1時,先要設(shè)置TXD1、RXD1引腳連接方式,然后設(shè)置串口的波特率及工作模式,即可進(jìn)行數(shù)據(jù)的發(fā)送和接收,本系統(tǒng)使用11.0592MHz晶體振蕩器,不適用PLL,VPB為4分頻,設(shè)置UART1波特率為9600bit/s,則除數(shù)值N=18,即12H,UART1的初始化程序如下:
在操作系統(tǒng)環(huán)境下,系統(tǒng)啟動時會自動初始化串行口,所以應(yīng)用程序調(diào)用串行口資源將變得更容易,值得注意的是,應(yīng)用程序往往是多任意系統(tǒng),為了實(shí)時監(jiān)測串行口消息,在操作環(huán)境中一般單開一個串行口掃描任務(wù),保證信息不丟失,在一個已有的工程文件的主函數(shù)中添加串行口的寄存器初始化代碼,并添加串口掃描任務(wù),由于對無線模塊的控制還有系統(tǒng)的GPIO,所以掃描程序中還要包括對I/O的操作,當(dāng)系統(tǒng)收到串口信息時,將會主動向主任務(wù)發(fā)送一個串行口信息,主任務(wù)接收到該信息將會調(diào)用響應(yīng)函數(shù),響應(yīng)該消息。
7 結(jié)束語
無線通信模塊nRF401集發(fā)射、接收于一體,大大簡化了燈光控制器設(shè)計(jì)的復(fù)雜程度,智能燈光控制器通過RS485接口很容易組網(wǎng),為實(shí)現(xiàn)智能家居網(wǎng)絡(luò)化提供了方便
評論