金牌会员
 
- 积分
- 1045
- 金钱
- 1045
- 注册时间
- 2017-11-3
- 在线时间
- 716 小时
|
5金钱
小弟近日在做项目涉及到将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\r\n",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\r\n",USART2_RX_BUF);
USART2_RX_STA=0;
}
else
{
times++;
if(times%80==0)LED0=!LED0;
delay_ms(10);
}
}
通讯板源码.rar
(2.22 MB, 下载次数: 184)
|
最佳答案
查看完整内容[请看2#楼]
参考这里:http://www.openedv.com/forum.php?mod=viewthread&tid=109577&extra=page%3D1
你这种方式,不靠谱的,一定要以运动的思维来解决实际问题。
|