|

楼主 |
发表于 2024-3-3 19:32:17
|
显示全部楼层
本帖最后由 iffi123 于 2024-3-3 19:35 编辑
说的没错,HAL设计的初衷是好的,统一接口,但因为stm32产品线很多,同样的外设,比如GPIO,不同系列寄存器也不尽相同,F1系列的模式设置(MODER寄存器)和其它系列差别很大,F1还有1个端口置0的寄存器BRR,在其它系列也取消了,统一在BSRR里置1置0,F1系列估计出的早,和后面出的就不一样,所以我现在尽量不碰F1
当然,现在还在用寄存器编程的很少,甚至用标准库的都不多(F7起就没有标准库),估计大多用cube mx编程,不过我因为喜欢玩一些负荷重一些,或者实时性要求高一些的,需要效率的diy(比如多中断多DMA一起跑), 所以直接用寄存器更合适,效率和方便本来就有矛盾,只能看自己侧重哪一方面
移植肯定比较麻烦,通常在关键点上我会做比较详细的备注,即使一段时间不用,回头看看备注也会很快想起来 |
|