OpenEdv-开源电子网

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

485通讯发送用中断的方式,发送的数据老是不对

[复制链接]

5

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2016-6-10
在线时间
27 小时
发表于 2016-8-5 18:01:41 | 显示全部楼层 |阅读模式
1金钱
485通讯程序,发送完需要将RE拉低,我发送用的是中断方式,发送9个字节之后,将RE拉低,为什么全是的时候老是少一位,单步调试的时候正常。将GPIOB->ODR |=1<<5;去掉可以正常接收。帮忙分析一下
       中断发送程序:

        if(USART_GetITStatus(USART1,USART_IT_TXE) !=RESET)
        {
                USART_ClearITPendingBit(USART1,USART_IT_TXE);
                USART_SendData(USART1,rs485TxBuf[U1TXNUM++]);
                if(U1TXNUM >= 9)
                {
                        USART_ITConfig(USART1,USART_IT_TXE,DISABLE);       
                        GPIOB->ODR |=1<<5;
                        U1TXNUM = 0;
                }


       全速跑的结果(错误):
       FF 00 05 00 12 34 01 01
       单步调试结果(正确):
       FF 00 05 00 12 34 01 01 B3

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-8-5 23:52:05 | 显示全部楼层
回复

使用道具 举报

5

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2016-6-10
在线时间
27 小时
 楼主| 发表于 2016-8-6 08:41:42 | 显示全部楼层
原子哥,帮帮忙...
回复

使用道具 举报

5

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2016-6-10
在线时间
27 小时
 楼主| 发表于 2016-8-6 10:12:06 | 显示全部楼层
自己顶自己一下,问题解决,发送完数据之后不能发上将RE拉低,需要再进一次中断拉低就没问题了!
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
发表于 2016-8-6 10:21:06 | 显示全部楼层
lightour 发表于 2016-8-6 10:12
自己顶自己一下,问题解决,发送完数据之后不能发上将RE拉低,需要再进一次中断拉低就没问题了!

发送有两种中断,寄存器空 和发送完成。发送最后一个字节的时候关寄存器空中断,开发送完成中断,在发送完成中断控制485引脚就好了
我有故事,你有酒吗
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-8-6 10:28:42 | 显示全部楼层
你把TXE中断改成TC中断,TXE中断,只是传送的寄存器非空,没有发送完成,TC中断才是发送完成的中断
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-8-6 10:30:18 | 显示全部楼层
你等于是发送途中甚至没开始发送就把RE拉高了,检测TC位才是发送完成的标志
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-2 03:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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