都来说说吧,好用与不好用都来提点建议!
说说我自己吧,用了几天,感觉坑有点多。体现在:
各个文件之间关联耦合太多,添加某个文件后,还要再把与它相关的文件加进来才能编译通过。例如RCC就必须加入GPIO才能用,用TIM就得还要反DMA一同加进来。。。。。
文件里面的__weak函数到处是坑,有这个__weak函数编译不报错,但是可能该实现的代码却没有,程序不正常运行,找错误非常麻烦。做个TIM定时的程序,自建的工程,怎么改TIM3都是不工作,改了半天,后来把例子打开仔细对比才发现,在另外一个文件里,有初始化TIM3的时钟,而在我的工程里没把那个文件加进来,定时器初始化时用的是一个空的__weak函数,SHIT!
外围模块的初始化挺麻烦,为啥不把外围的时钟打开也放在初始化函数里, 这么分开整的理由是什么呢?
systick被HAL占用了,用操作系统时,这个地主还得特别注意!
太多的宏定义,学习研究程序的时候,被宏定义套来套去,看着比较累。
程序的架构得说是好的,不过这种方式对于C语言基础一般的人来说,学起来怕是困难较多吧。
欢迎大家各自发表下看法。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
的确你说的也没错,想学好HAL库的确不比去学一款单片机简单。应该说还是我表达的不清楚,HAL库出来的目的就是为了更好推出STM32CubeMX软件,这个软件可以说大大的降低了初学者的门槛,基本上现在出来的ST开发板都是以STM32CubeMX建立工程为主的教材,这样的结果必定是会造成很多人对ST的依赖!如果只单单评价HAL库其实没有什么不好,可以让开发人员不必太过于关系ST底层寄存器描述,包括一些通讯协议与驱动都写好了,开发人员可以专心将精力用于产品开发上大大降低开发周期。就像STC单片机其实是没有什么性价比可言的,但是还是会有那么多人去用它,其原因必定是它用起来简单且能满足一定的设计需要。所以还是希望ST以后出的所有芯片都能保持良好的性价比。
一周热门 更多>