日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] #include"MSP430x44x.h"voidinit_UART(void);voiduart_start(void);voiduart_send(void);voiduart_receive(void);unsignedcharRXDATA_BUF[10],TXDATA_BUF[10]={0xbd,0x77,0x3d,0xc5,0xc6,0xf5,0x68,0x0

#include"MSP430x44x.h"

voidinit_UART(void);
voiduart_start(void);
voiduart_send(void);
voiduart_receive(void);

unsignedcharRXDATA_BUF[10],TXDATA_BUF[10]={0xbd,0x77,0x3d,0xc5,0xc6,0xf5,0x68,0x0d,0x6b,0xff};


unsignedintRX_count=0,TX_count=0,TXBUF_num=10,RXBUT_num=10,FLAG;

voidmain(void)
{init_uart();
uart_start();
while(1)
{_BIS_SR(CPUOFF);
_NOP();
}
}

--------------------------------------------------------
voidinit_uart(void)//初始化UART
{unsignedinti;
WDTCTL=WDTPW+WDTHOLD;
FLL_CTL1|=XT2OFF+SELM_XT2+SELS;//選擇MCLK時(shí)鐘源
do//等待時(shí)鐘穩(wěn)定
{IFG1&=~OFIFG;
for(i=0;i<0xff;i++);
}while((FLL_CTL0&XT2OF)==XT2OF);
UCTL0|=SWRST;//控制寄存器位
UCTL0|=CHAR;
UTCTL0=SSEL0+SSEL1;//選擇發(fā)送時(shí)鐘源復(fù)位
UBR00=0XA0;//波特率9600
UBR10=0X01;
UMCTL0=0X5E;
UCTL0&=~SWRST;//選擇發(fā)送時(shí)鐘源置位
ME1|=URXE0+UTXE0;//使能TXDRXD
IE1|=URXIE0;
IFG1=0X00;
P2SEL|=0X30;//模塊選用
P2DIR|=0X10;
for(i=0;i<10;i++){RXDATA_BUF=0;}//清接收緩存
_EINT();
}

---------------------------------------------------------
voiduart_start(void)//啟動(dòng)發(fā)送
{IE1|=UTXIE0;
while((UTCTL0&BIT0)!=BIT0);
TXBUF0=TXDATA_BUF[0];
TX_count=1;
}

----------------------------------------------------------
voiduart_receive(void)//接收
{RXDATA_BUF[RX_count]=RXBUF0;
RX_count+=1;
if(RX_count>=RXBUT_num){RX_count=0;}
}
-----------------------------------------------------------
voiduart_send(void)//發(fā)送
{TXBUF_num-=1;
if(TXBUF_num>0)
{TXBUF0=TXDATA_BUF[TX_count];
TX_count+=1;

}
else
{FLAG+=1;
if(FLAG>10){IE1&=~UTXIE0;}
else{TXBUF_num=10;
TX_count=0;
uart_start();
}

}
}
-------------------------------------------------------------
interrupt[UART0TX_VECTOR]voiduart_tx(void)//發(fā)送中斷響應(yīng)
{
uart_send();
}

--------------------------------------------------------------
interrupt[UART0RX_VECTOR]voiduart_rx(void)//接收中斷響應(yīng)
{
uart_receive();
}


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉