你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 1887|回复: 5

STM32F4 USART流控

[复制链接]

1

主题

4

回帖

0

蝴蝶豆

新手上路

最后登录
2018-5-16
发表于 2015-1-12 19:05:11 | 显示全部楼层 |阅读模式
       有没有人用过STM32F4的硬件流控,项目中需要使用UART流控(RTS、CTS),我的应用使用STM库函数进行编写,配置部分是用STM32CubeMX软件生成,使用中遇到以下问题:
       进行通信阻塞测试时,PC机撤销RTS后,F4能正常响应CTS信号,发送阻塞(超时);但F4阻塞测试时,我设想的是禁用接收中断后(测试程序使用中断方式),收到第一个字符后,缓冲区满,F4的RTS应撤销,从而阻塞PC机发送,但测试发现,F4禁止接收中断后,PC端CTS信号一直有效,仍然可以继续发送,除非将RTSE设置为0才可以阻塞PC机发送。
       程序设定断点后,经测试,禁用接收中断后,未进入过接收中断处理部分(即未读取过DR),但不知道F4的RTS信号为何一直不撤销,不是说接收缓冲区慢的时候就撤销么?RTS需要什么特殊配置么?大家有没有碰到过类似问题?
回复

使用道具 举报

1

主题

4

回帖

0

蝴蝶豆

新手上路

最后登录
2018-5-16
 楼主| 发表于 2015-1-12 20:58:17 | 显示全部楼层
怎么没人回复啊?有人遇到过类似问题么?或者正常使用流控信号么?
回复 支持 反对

使用道具 举报

307

主题

3125

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-7-17
发表于 2015-1-13 16:35:51 | 显示全部楼层
帮顶,求解。建议楼主发帖提问时候,发布悬赏贴,这样网友会更热情
回复 支持 反对

使用道具 举报

1

主题

4

回帖

0

蝴蝶豆

新手上路

最后登录
2018-5-16
 楼主| 发表于 2015-1-14 21:46:04 | 显示全部楼层
昨天连上示波器测试了一下,发现正常通信时,STM32F4接收到数据后,232端RTS变为负电压(无效态),中断读取数据后,RTS有效(正电平),流控功能正常,出现问题的原因是:计算机端在CTS无效时仍在继续发送,可能未及时检测到CTS,对比过TL16C754C手册,说接收方可能不能及时检测到CTS,可能继续发送一个字节,但在STM32F4中,由于多接收这一个字节的数据,上一个接收数据未读取,新数据停止位后,RTS信号居然又恢复有效(变为正电平),按照手册,数据未读取时RTS应该无效才对,不知道这算不算芯片的BUG?
回复 支持 反对

使用道具 举报

1

主题

4

回帖

0

蝴蝶豆

新手上路

最后登录
2018-5-16
 楼主| 发表于 2015-1-14 21:55:37 | 显示全部楼层
沐紫 发表于 2015-1-13 16:35
帮顶,求解。建议楼主发帖提问时候,发布悬赏贴,这样网友会更热情

论坛新人,没法过悬赏帖,还不知道怎么发,请管理员支持一下。
回复 支持 反对

使用道具 举报

1

主题

4

回帖

0

蝴蝶豆

新手上路

最后登录
2018-5-16
 楼主| 发表于 2015-1-14 22:07:13 | 显示全部楼层
暂时的解决办法:RTS引脚上拉,需要阻塞时,不关闭接收中断,设置RTSE = 0,RTS信号变更为无效;恢复时,重新设置RTSE = 1,回复硬件流控,大家还有更好的处理办法么?
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版