OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4878|回复: 6

usart 发送出现乱码问题

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2016-5-24
在线时间
0 小时
发表于 2016-5-24 22:09:53 | 显示全部楼层 |阅读模式
1金钱
  各位前辈,我用的是STM32F103ZET6,原子哥的精英版,我的串口1的中断函数如下,串口助手发送30个字节,然后单片机再给我发回来,但是偶尔会出现乱码,我把USART_SendData(USART1, tab[t])这个放在主函数里也是偶尔有乱码,求解?
void USART1_IRQHandler(void)
{
  if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
  {
   Res =USART_ReceiveData(USART1);//(USART1->DR); //读取接收到的数据

            tab[i]=Res;
             i++;          
        if(i==30)
        {
            i=0;
                for(t=0;t<30;t++)
                {
                USART_SendData(USART1, tab[t]);//向串口 1 发送数据
                while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待
                //发送结束
                }
        }          
   }
}







usart.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

201

帖子

0

精华

高级会员

Rank: 4

积分
671
金钱
671
注册时间
2015-4-26
在线时间
173 小时
发表于 2016-5-25 09:13:42 | 显示全部楼层
回复

使用道具 举报

4

主题

24

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-5-23
在线时间
18 小时
发表于 2016-5-25 10:06:11 | 显示全部楼层
你没判断 接收的数据是否以0A 0D(回车,换行)结尾呀!USART_RX_STA的第0-13位是判断发送数据的长度,第14位判断数据是否为0D,第15位判断数据是否为0A,第14位,第15位满足条件才进行接收发送!而且接收发送完成后你要手动清零!
回复

使用道具 举报

4

主题

290

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1130
金钱
1130
注册时间
2015-8-4
在线时间
107 小时
发表于 2016-5-25 10:06:54 | 显示全部楼层
应该是传输中某一个字节出错,导致后面的连续位移。
还有每次收完后应该把buffer清空。
活到老,学到老。
回复

使用道具 举报

22

主题

751

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1606
金钱
1606
注册时间
2015-6-10
在线时间
223 小时
发表于 2016-5-25 16:39:17 | 显示全部楼层
一般我遇到这种问题都是先换个串口工具

还有你如果用的是定时发送最好把时间调大一点

9600的话大概1ms一个字节

发送接收60个需要60ms  电脑串口一耽误就有可能超
回复

使用道具 举报

0

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2016-5-17
在线时间
25 小时
发表于 2016-5-26 00:24:20 来自手机 | 显示全部楼层
对先排硬件错误
回复

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
发表于 2016-5-26 14:46:04 | 显示全部楼层
我说俩点
第一:发送数据的函数不要放在中断里面,非常危险,有时候出了问题,你想都想不到。

第二:你这里并没有做接收完成的判断,你接收的是30个数据,必须要有接收完成的判断函数。
       具体操作,参考485实验。
自己选择的路,成家前走完。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-8 15:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表