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

          新聞中心

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

          msp430的USCI串口,妙招搞定

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

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

          本文引用地址:http://cafeforensic.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ū)

          關閉