|
这是串口发送程序,串口助手显示乱码,求同学们帮忙看看:
void UARTA0_Init(unsigned long baud)
{
uint16 baud_temp = 0.0;
UCA0CTL1 |=UCSWRST;//复位UART
UCA0CTL1 |=UCSSEL__SMCLK;//选择SMCLK为时钟
UCA0CTL0 = 0x00;//8位数据位,LSB FIRST,一位停止位,无校验位
baud_temp = (uint16)(F_SMCLK/baud);
UCA0BRW = (uint16)(baud_temp); //设置波特率
UCA0MCTL = 0x00;
UCA0CTL1 &=~UCSWRST; //启动UART
P3SEL |= BIT5+BIT4; //使能端口为串口TXD和RXD
}
void UARTA0_Send_Char(uint8 data)
{
while(UCA0IFG&UCTXIFG ==0)
{
;
}//等待发送完成
UCA0TXBUF = data;
delayus(200);
}
下面是main.c里面的
void All_Init()
{
clock_init();//时钟初始化,切换到高速主时钟
Angle_Confuse_Init();
PWM_INIT(30000,div_8);
UARTA0_Init(19200);//设置波特率
UARTA0_Send_N_String("START",5); //发送调试参数
}
void main( void )
{
All_Init();
PIT_INIT_MS(5);//5ms定时器初始化
EN_TIMERA_INT;//使能定时器中断
GIE_ON;//开总中断
while(1)
{
UARTA0_Send_Char('a');
//MPU6050_Convert();
//Suvervision_Updata();//监控参数返回
}
}
串口助手设置跟程序是一致的,晶振24M,经过二分频后供给SMCLK,串口助手显示与发送不一致,且发送几个数据后停止了显示,求解答。。
|
|