|
這里只介紹與UART有關(guān)最常用的幾種寄存器,至于在編程時(shí)涉及到的其它功能的寄存器這里不做介紹。
1.ULCONn(n=0,1,2) //校驗(yàn)和模式寄存器
[6] 0=正常模式、1=紅外模式
[5:3] 0XX=無(wú)校驗(yàn)、100=奇校驗(yàn)、101=偶校驗(yàn)
[2] 0=1位停止位、1=2位停止位
[1:0] 00=5位數(shù)據(jù)長(zhǎng)度、01=6位數(shù)據(jù)長(zhǎng)度、10=7位數(shù)據(jù)長(zhǎng)度、11=8位數(shù)據(jù)長(zhǎng)度
2.UCONn(n=0,1,2) //工作方式寄存器
[10] 0=PCLK、1=UCLK
[9] 0=脈沖出發(fā)、1=電平觸發(fā)
[8] 0=脈沖出發(fā)、1=電平觸發(fā)
[7] 0=禁止接收暫停、1=允許接收暫停
[6] 0=禁止接收錯(cuò)誤中斷、1=允許接收錯(cuò)誤中斷
[5] 0=禁止巡檢模式、1=允許巡檢模式
[4] 0=禁止發(fā)送間隔信號(hào)、1=每幀發(fā)送1個(gè)間隔信號(hào)
[3:2] 00=禁止發(fā)送、01=中斷或查詢發(fā)送模式、1X=DMA方式
[1:0] 00=禁止接收、01=中斷或查詢接收模式、1X=DMA方式
3.UTRSTATn(n=0,1,2) //發(fā)送接收狀態(tài)寄存器,用來(lái)判斷是否完成發(fā)送接收
[2] 0=發(fā)送緩沖器有數(shù)據(jù)、1=緩沖器沒(méi)數(shù)據(jù)
[1] 0=發(fā)送緩沖器有數(shù)據(jù)、1=緩沖器沒(méi)數(shù)據(jù)(在FIFO和DMA模式下用)
[0] 0=接收緩沖器沒(méi)數(shù)據(jù)、1=接收緩沖器有數(shù)據(jù)
4. UTXHn和URXHn(n=0,1,2) //發(fā)送和接收存放數(shù)據(jù)用的寄存器,直接作為輸入輸出端口
5.這里推薦使用中斷方式編程,可確保在大量傳輸數(shù)據(jù)的情況下不出現(xiàn)丟數(shù)據(jù)的情況
專用的指針:pISR_UART0 //此處加入中斷向量
|
|