为什么我每次通过串口调试助手都得到的是0x00数据???是程序有错误吗
代码如下:
#include <msp430x14x.h>
unsigned char aa[20]="adf_strxcgndydt1342";
char i=0;
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 停止看门狗
P3SEL |= 0x30; // 设置P3.4、P3.5分别为相应的发收口
ME1 |= UTXE0+URXE0; // 使能UART模块
UCTL0 |= CHAR; // 设置成8位数据
UTCTL0|= SSEL0; // 选择辅助时钟32768Hz
UBR00 = 0x03; //
UBR10 = 0x00; //
UMCTL0 = 0x4A; // 设置波特率为9600比特
UCTL0 &= ~SWRST;
IE1 |=UTXIE0+URXIE0; // 设置中断
_BIS_SR(LPM0_bits + GIE); // 进入低功耗
}
#pragma vector=UART0TX_VECTOR
__interrupt void usart0_tx (void)
{
if(i<20)
{
while((IFG1 & UTXIFG0)==0); // 等待发送缓存器为空
TXBUF0=aa[i++];
IFG1 &= ~UTXIFG0;
}
else
{
i=0;
}
}
结果确是:
|