新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 移動嵌入ARM7串口9位方式編程技術

移動嵌入ARM7串口9位方式編程技術

作者: 時間:2011-06-17 來源:網(wǎng)絡 收藏
3 9位多機通信實現(xiàn)

本文引用地址:http://butianyuan.cn/article/150590.htm

  上面已說明,9位多機通信的關鍵是第9位的發(fā)送和第9位的接收和判斷。

  對于發(fā)送端,利用UOLCR寄存器的設置便能實現(xiàn)第9位的發(fā)送。

  UOLCR=0x2B; //帶奇偶校驗,強制為l

  UOLCR=Ox3B; //帶奇偶校驗,強制為O

  通過以上設置,只要編程發(fā)送1字節(jié),arm就自動將第9位按程序設置的0或1發(fā)送出去。

  難點在于接收端,即接收端把接收到的第9位放到哪了,程序員又如何知道這第9位是0還是1。

  其實,ARM并不像51單片機那樣把接收到的第9位數(shù)據(jù)自動裝入SCON的RB8。實際上,ARM并沒有這樣的寄存器SCON,也沒有RB8位。要實現(xiàn)判斷第9位為1或0,只能利用arm通信的奇偶校驗功能!

  具體思路如下:

 ?、僭O置奇偶校驗使能;

  ②編程讀取UOLSR寄存器的PE位(具體含義見UOLSR寄存器的描述部分);

 ?、劬幊膛袛嗍盏降膌字節(jié)中有多少個“1”,并設置一標志PP;

 ?、軐⑸鲜鰳酥九cPE位比較處理;

  ⑤比較的結(jié)果就正確表示了第9位是“O”,還是“1”。

  按照以上思路,可有效實現(xiàn)第9位的判斷。下面給出相應的程序代碼:

  

  上述程序中變量u9就是得到的第9位標志:

  當u9=OxFF時,說明第9位為1;

  當u9=OxFE時,說明第9位為O。

  還需注意的是,接收端奇偶校驗設置成偶校驗還是奇校驗,要根據(jù)后面程序中標志pp的設置而定。

  4 總 結(jié)

  本設計方案巧妙地應用arm通信奇偶校驗功能,實現(xiàn)了9位的多機通信,并在相關課題中成功應用,而且保證了通信的可靠性。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉