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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MSP430F149的USART0的UART方式

          MSP430F149的USART0的UART方式

          作者: 時間:2016-11-26 來源:網(wǎng)絡 收藏
          MSP430F149USART0UART方式(UCTL0中的SYNC位清0)用于串口通信,以下是一段初始化過程:

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

          P3SEL |= 0x30;
          P3DIR |= BIT4;
          ME1 |= UTXE0 + URXE0; //允許USART0接受和發(fā)送
          UCTL0 |= CHAR;
          U0TCTL|=SSEL1;
          UBR00 = 0x68;//波特率9600
          UBR10 = 0x00;
          UMCTL0 = 0x40;
          UCTL0 &= ~SWRST;
          IE1|=URXIE0;
          __enable_interrupt();

          首先是設置引腳的方向,RX為輸入,TX為輸出,所以TX的DIR位應設為1。ME1是功能模塊,即允許UART的接收和發(fā)送,CHAR置1是設置數(shù)據(jù)為8位,SSELx選擇UART的時鐘源,波特率的設置可以用MSP430波特率計算器來算。IE1中的UTXIE0和URXIE0分別用來使能接收和發(fā)送中斷,中斷標志分別為UTXIFG0和URXIFG0,UTXIFG0置1表示等待新的數(shù)據(jù)寫入發(fā)送寄存器,即上一次發(fā)送已完成,而URXIFG0置1表示已接收到數(shù)據(jù)并裝入接收緩存寄存器中

          void main()
          {
          Init();
          while(1)
          {
          for(num=0;num<5;num++)
          {//發(fā)數(shù)組
          TXBUF0=T[num];//數(shù)據(jù)被寫入發(fā)送緩沖寄存器,發(fā)送中斷標志清0
          while ((IFG1 & UTXIFG0)!=0x80);//等待中斷標志置1,即等待接收完成
          }
          num=0;
          while(1);
          }
          }

          #pragma vector=USART0RX_VECTOR
          __interrupt void UART0RX (void)
          {
          R[num]=RXBUF0;//當讀接收寄緩沖存器時,接收中斷標志清0
          num++;
          if(num==5) num=0;
          }



          評論


          技術專區(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); })();