OpenEdv-开源电子网

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

HAL的库好烂,串口中断发送居然不能连续发送。

[复制链接]

3

主题

5

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2020-5-8
在线时间
3 小时
发表于 2020-9-4 15:18:45 | 显示全部楼层 |阅读模式

如上图,用户使用中断发送的时候库会把指针指向用户的缓冲区,但是如果在一个地方连续调用两次这个函数岂不是就完蛋了。

这样连续发送两句,123还没发完直接指针就指向"abc"了。这个真的很无奈啊,原来不用HAL的库,用早期的固件库还可以自己写中断发送这块,现在中断处理函数都被他写完了,很多函数还不能重指向。这个问题谁遇到过啊。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

5

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2020-5-8
在线时间
3 小时
 楼主| 发表于 2020-9-4 15:19:14 | 显示全部楼层
回复 支持 反对

使用道具 举报

3

主题

808

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3888
金钱
3888
注册时间
2017-3-7
在线时间
1694 小时
发表于 2020-9-4 16:04:26 | 显示全部楼层
我觉得这不应该是库来保证,应该是用的人来保证吧,没发完之前加锁,或者有缓冲区,队列等
回复 支持 反对

使用道具 举报

17

主题

175

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1016
金钱
1016
注册时间
2014-4-7
在线时间
99 小时
发表于 2020-9-4 16:27:51 | 显示全部楼层
本帖最后由 亲亻尔嘴 于 2020-9-4 16:29 编辑

调用第一次的时候,等待发送完成,再次调用第二次

觉得不方便完全可以修改成自己想要的。

在你没有做出成绩之前,这个世界不会在乎你的自尊。
回复 支持 反对

使用道具 举报

3

主题

821

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3369
金钱
3369
注册时间
2011-11-10
在线时间
207 小时
发表于 2020-9-5 17:01:32 | 显示全部楼层
串口打印任何时候都是需要时间的,也就是说软件必须要做等待处理的。一个没有完成,不能立即发下一个。程序上加个判断即可,不想判断就直接按波特率和字节数估计一下加个延时。
回复 支持 反对

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13123
金钱
13123
注册时间
2012-11-26
在线时间
3813 小时
发表于 2020-9-5 17:06:56 | 显示全部楼层
啊  地球好烂,引力好小    拉不出屎  
回复 支持 反对

使用道具 举报

6

主题

279

帖子

0

精华

高级会员

Rank: 4

积分
750
金钱
750
注册时间
2015-3-27
在线时间
98 小时
发表于 2020-9-6 01:47:06 | 显示全部楼层
新手朋友喜欢把一些问题归结为工具本身,包括语言,语法,库等,但究其原因就会发现还是自己在使用上的问题。图片看不到,程序也不了解,不过如果是打印混乱的问题,使用堵塞方式既可。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-14 13:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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