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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > msp430的USCI串口,妙招搞定

          msp430的USCI串口,妙招搞定

          作者: 時間:2016-11-09 來源:網(wǎng)絡 收藏
          430USCI串口(UART mode)初始化設置十分繁雜, UCA0BR0 UCA0BR1 UCA0MCTL 等還需按照波特率計算,并且有小數(shù)部分微調,在這里共享一個頭文件,在操作串口時,只要一個init_uart(9600);就全搞定,注:9600還能改成4800 115200等其他波特率,十分方便。

          #define clock 8000000
          #define UCBRS(x) UCBRS_##x

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

          void uart_init(long baud)
          {
          float x = clock / baud ;
          long y = clock / baud ;
          char n;
          P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
          P1SEL2 = BIT1 + BIT2 ;
          UCA0CTL1|=UCSSEL_2 ;

          UCA0BR0 = y % 256;
          UCA0BR1 = y / 256;

          n=(char)((x-y)*8);
          UCA0MCTL=2*n; //UCBRS_n n為*2
          UCA0CTL1 &= ~UCSWRST;
          IE2 |= UCA0RXIE ;
          }

          UCA0MCTL=2*n; 這里是移位操作,詳情請看register。

          當然,時鐘修改了的話,也要記得把clock修改一下。

          好用的話,大家支持一個吧,下面我把頭文件共享,支持printf,getchar等。



          關鍵詞: msp430USCI串

          評論


          技術專區(qū)

          關閉
          看屁屁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); })();