新聞中心

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

        MSP430F149的USART0的UART方式

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

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

        關閉
        主站蜘蛛池模板: 青龙| 鹤庆县| 台江县| 繁昌县| 田林县| 潜山县| 江山市| 德钦县| 鄂尔多斯市| 巴塘县| 武邑县| 荣昌县| 庆城县| 宁河县| 宿松县| 东港市| 武宁县| 富阳市| 高尔夫| 厦门市| 慈溪市| 南宫市| 黄龙县| 郓城县| 孟连| 日土县| 通海县| 屏东县| 巴东县| 和龙市| 砚山县| 辽源市| 醴陵市| 河西区| 岱山县| 西峡县| 孝昌县| 黔西县| 馆陶县| 丹阳市| 邹城市|