用中断进行串口发送,每次发完数组里面的数据后串口调试助手会多收到一个00字节,下面是中断发送的程序
void USART2_IRQHandler(void)
{
if(USART2->SR&(1<<6))//数据发送完成
{
if(TXD2_cnt<8)
{
USART2->DR=TXD2_buf[TXD2_cnt];
TXD2_cnt++;
}
else
{
TXD2_cnt=0;
UART2_close();
}
}
}
下面是串口调试助手收到的数据
AA 02 02 00 27 21 00 06 00
AA 02 03 00 0B 01 00 0D 00
AA 02 04 00 09 01 00 02 00
AA 02 05 00 07 01 00 13 00
AA 02 06 00 11 01 00 18 00
AA 02 07 00 10 01 00 18 00
发送的数组里面有8个字节,最后收到的总是多个00 |