欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
MSP430F149的USART0的UART方式
[打印本頁]
作者:
51黑黑黑
時間:
2016-2-13 00:36
標題:
MSP430F149的USART0的UART方式
MSP430F149的USART0的UART方式(UCTL0中的SYNC位清0)用于串口通信,以下是一段初始化過程:
P3SEL |= 0x30;
P3DIR |= BIT4;
ME1 |= UTXE0 + URXE0; //允許USART0接受和發送
UCTL0 |= CHAR;
U0TCTL|=SSEL1;
UBR00 = 0x68;//波特率9600
UBR10 =0x00;
UMCTL0 = 0x40;
UCTL0 &= ~SWRST;
IE1|=URXIE0;
__enable_interrupt();
首先是設置引腳的方向,RX為輸入,TX為輸出,所以TX的DIR位應設為1。ME1是功能模塊,即允許UART的接收和發送,CHAR置1是設置數據為8位,SSELx選擇UART的時鐘源,波特率的設置可以用MSP430波特率計算器來算。IE1中的UTXIE0和URXIE0分別用來使能接收和發送中斷,中斷標志分別為UTXIFG0和URXIFG0,UTXIFG0置1表示等待新的數據寫入發送寄存器,即上一次發送已完成,而URXIFG0置1表示已接收到數據并裝入接收緩存寄存器中
void main()
{
Init();
while(1)
{
for(num=0;num<5;num++)
{//發數組
TXBUF0=T[num];//數據被寫入發送緩沖寄存器,發送中斷標志清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;
}
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1