小弟近日在做项目涉及到将usart1端接收的数据向usart2发送并将usart2端的命令向usart1端转发。目前使用的芯片是STM32F103C8T6,代码是在原子哥的教程源码的基础上修改而来。稍后会在下方贴出。当前的问题是在测试过程中会发生一段时间后(具体时长不得而知)数据格式乱码的问题如下图所示(指令内容本为1,down)。自行检查无果,特附上源码前来寻求帮助。还请懂得小伙伴们不吝赐教。
现象:
消息互传部分的代码如下:
while(1)
{
if(USART_RX_STA&0x8000)
{
len=USART_RX_STA&0X3FFF;
USART_RX_BUF[len]=0;
u2_printf("%s
",USART_RX_BUF);
USART_RX_STA=0;
//USART_RX_BUF[]={0};
}
else if(USART2_RX_STA&0X8000)
{
rlen=USART2_RX_STA&0X7FFF;
USART2_RX_BUF[rlen]=0;
printf("%s
",USART2_RX_BUF);
USART2_RX_STA=0;
}
else
{
times++;
if(times%80==0)LED0=!LED0;
delay_ms(10);
}
}
通讯板源码.rar
(2.22 MB, 下载次数: 168)
2017-11-3 10:00 上传
点击文件名下载附件
源码
同一个芯片这种我没试过,一发多收应该是可以的
一周热门 更多>