ST的串口HAL库太难用了,顶钢盔吐槽。F105RC

2019-12-10 18:28发布

本帖最后由 liuqian 于 2019-5-2 11:59 编辑

1. 层层包裹,里面各种情况都要处理,太啰嗦了,效率太低了
2. 发送、接收共用一个锁,全双工怎么玩,肯定会发生碰撞
3. 因为我使用了4个串口,有带DMA的有不带DMA的,为了方便维护,就不用DMA,而使用中断。但是串口中断接收使用定长缓存,而不是环形,这对不定长数据接收很麻烦。为了尽量不动CUBEMX生成的程序,费了不少功夫,最后还是写了自己的中断处理+环形缓冲。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
52条回答
Llinuxu
1楼-- · 2019-12-16 20:35
hal难用,果断放弃
leiyitan
2楼-- · 2019-12-17 00:57
一层层扒开看,痛苦的很,最终还是用->instance-> REG=0X--搞定,一个个寄存器操作搞定
HalenYU
3楼-- · 2019-12-17 06:02
个人觉得,参考意义还是很大的。很多接口写法根本就不需要再了解寄存器了,效率快很多。如果遇到特别的,不符合要求的,就把那部分用寄存器替代就OK了。
yiminglei_2
4楼-- · 2019-12-17 09:27
HAL库应该是给从树莓派学起的那些嵌入式工程师用的,HAL库尽量脱离硬件。我用库的优先级是 标准库>LL库>HAL库

一周热门 更多>