色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > ARM7串口9位方式多機遇信的編程技術(shù)

          ARM7串口9位方式多機遇信的編程技術(shù)

          作者: 時間:2009-09-23 來源:網(wǎng)絡(luò) 收藏
          其中第3位和第4、5位十分重要。
          奇偶使能:控制是否進(jìn)行奇偶校驗。如果使能,發(fā)送時將添加一位校驗位。
          O――禁止奇偶產(chǎn)生和校驗。
          1――使能奇偶產(chǎn)生和校驗。
          奇偶選擇:設(shè)置奇偶校驗類型。
          OO――奇數(shù)(數(shù)據(jù)位+校驗位=奇數(shù))。
          01――偶數(shù)(數(shù)據(jù)位+校驗位=偶數(shù))。
          10――校驗位強制為1。
          11――校驗位強制為O。
          U0FCR寄存器的描述如下:

          本文引用地址:http://cafeforensic.com/article/157833.htm

          這里面注意第6、7位。
          Rx觸發(fā)點設(shè)置:通過設(shè)置這兩位可以調(diào)整接收FIF0中觸發(fā)RDA中斷的有效字節(jié)數(shù)量。
          00――觸發(fā)點O(1字節(jié))。
          01――觸發(fā)點1(4字節(jié))。
          10――觸發(fā)點2(8字節(jié))。
          11――觸發(fā)點3(14字節(jié))。


          3 9位多機通信實現(xiàn)

          上面已說明,9位多機通信的關(guān)鍵是第9位的發(fā)送和第9位的接收和判斷。
          對于發(fā)送端,利用UOLCR寄存器的設(shè)置便能實現(xiàn)第9位的發(fā)送。
          UOLCR=0x2B; //帶奇偶校驗,強制為l
          UOLCR=Ox3B; //帶奇偶校驗,強制為O
          通過以上設(shè)置,只要編程發(fā)送1字節(jié),ARM就自動將第9位按程序設(shè)置的0或1發(fā)送出去。
          難點在于接收端,即接收端把接收到的第9位放到哪了,程序員又如何知道這第9位是0還是1。
          其實,ARM并不像51單片機那樣把接收到的第9位數(shù)據(jù)自動裝入SCON的RB8。實際上,ARM并沒有這樣的寄存器SCON,也沒有RB8位。要實現(xiàn)判斷第9位為1或0,只能利用ARM通信的奇偶校驗功能!
          具體思路如下:
          ①設(shè)置奇偶校驗使能;
          ②編程讀取UOLSR寄存器的PE位(具體含義見UOLSR寄存器的描述部分);
          ③編程判斷收到的l字節(jié)中有多少個“1”,并設(shè)置一標(biāo)志PP;
          ④將上述標(biāo)志與PE位比較處理;
          ⑤比較的結(jié)果就正確表示了第9位是“O”,還是“1”。
          按照以上思路,可有效實現(xiàn)第9位的判斷。下面給出相應(yīng)的程序代碼:


          上述程序中變量u9就是得到的第9位標(biāo)志:
          當(dāng)u9=OxFF時,說明第9位為1;
          當(dāng)u9=OxFE時,說明第9位為O。
          還需注意的是,接收端奇偶校驗設(shè)置成偶校驗還是奇校驗,要根據(jù)后面程序中標(biāo)志pp的設(shè)置而定。

          4 總 結(jié)
          本設(shè)計方案巧妙地應(yīng)用ARM通信奇偶校驗功能,實現(xiàn)了9位的多機通信,并在相關(guān)課題中成功應(yīng)用,而且保證了通信的可靠性。

          電容式觸摸屏相關(guān)文章:電容式觸摸屏原理

          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉