<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > s3c6410 s3c2440串口發(fā)送接收數(shù)據(jù)的實(shí)現(xiàn)(輪詢)及相關(guān)寄存器

          s3c6410 s3c2440串口發(fā)送接收數(shù)據(jù)的實(shí)現(xiàn)(輪詢)及相關(guān)寄存器

          作者: 時(shí)間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
          1 6410與串口相關(guān)寄存器

          一 需要設(shè)置的寄存器(其實(shí)進(jìn)入uboot后,串口已經(jīng)設(shè)置好了,直接發(fā)送數(shù)據(jù)就行了,)
          1)模式
          UCON (輪詢,中斷,DMA等)
          2)相關(guān)參數(shù)
          ULCON0 定義了串口數(shù)據(jù)的幀格式,數(shù)據(jù)位長度,奇偶校驗(yàn)位,停止位(8-N-1)
          BRDIV 定義了波特率的計(jì)算公式所得結(jié)果的整數(shù)部分
          UDIVSLOT0 定義了波特率的計(jì)算公式所得結(jié)果的小數(shù)部分
          3)高級(jí)選項(xiàng)(串口的發(fā)送接收緩沖的大?。╢ifo)默認(rèn)是1B,可改成64B
          二 發(fā)送接收數(shù)據(jù)
          相關(guān)的寄存器
          UTXH0 UART channel 0 transmit buffer register
          URXH0UART channel 0 receive buffer register(這兩個(gè)寄存器和51的SBUF相似)

          本文引用地址:http://www.ex-cimer.com/article/201611/316679.htm

          UTRSTAT0 UART channel 0 Tx/Rx status register
          [2:0]中
          [2] 如果發(fā)送buffer空且發(fā)送移位器空時(shí)置1,反之置0
          [1] 如果發(fā)送buffer空則置1;
          [0] 如果接收buffer接收到有效數(shù)據(jù),則置1,反之置0;
          發(fā)送時(shí)看2位,接收時(shí)看0位;
          2410下的發(fā)送接收函數(shù)(6410 和 2440 的串口實(shí)現(xiàn)基本一樣,改改地址就行,個(gè)別的寄存器值的計(jì)算不同)

          void uart_putchar(unsigned char k)
          {
          while(!(UTRSTAT0&0x04)); //如果UTRSTAT 2位是0,則一直循環(huán),直到為1(transmit buffer is empty,can transmit data)


          UTXH0 = k;
          }
          unsigned char uart_getchar(void)
          {
          unsigned char c;
          while(!(UTRSTAT0&1<<0)); // 如果UTRSTAT 0位是0(表示沒有有效數(shù)據(jù)),則一直循環(huán),
          c = URXH0;
          return c;
          }
          這樣就可以發(fā)送一字節(jié)和接收一字節(jié)了,可以在寫自己的gets()puts()函數(shù);
          當(dāng)然串口能工作是因?yàn)?uboot 已經(jīng)做了很多工作(串口的初始化);現(xiàn)在可以讀出響應(yīng)的寄存器值(都是正確的值,可以工作),
          寫到自己的uart_init()函數(shù)中;



          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();