串口发送数据函数如下:
void SendStr(u8 *buf,int len)
{
if(len<=0) return;
for(int i=0;i<len;i++)
{
USART_SendData(USART1, (u8) *buf++);
while(RESET==USART_GetFlagStatus(USART2,USART_FLAG_TXE));
}
}
在一个任务中用该函数每个50ms向串口发送一串数据,PC机端接收到的都是乱码(很多0x00之类的),但是不加操作系统正常。请教各位大虾是什么原因。谢谢 |