最好是从你的当前认知水平相当的方式
要是你之前学习过51之类的单片机,那么对于寄存器的方式是比较熟悉的,
你学习STM32时,也就可以通过寄存器的方式,对于你理解程序与快速学习到STM32的使用是有优势的
如果你没有基础,那么也就无所谓了,总的来说,学习库还是要比学习寄存器要快与简单得多,库已经把寄存器封装好了,
而ARM的寄存器数量是51没法比的,配置一个外设要配置多个寄存器,可能一上来要记那么多的寄存器你会吃不消的。
注意,学习库函数版本会让人忘记处理器本质,认为调用库函数就可以开发产品。实质上,寄存器版本才是嵌入式开发者真能力表现。寄存器不多,看一遍,记住每一位功能,估计不会太难。将来熟悉了,自己可以编一个宏,甚至库函数。
建议学库,因为视频教程都是根据库进行介绍的
学习库上手比较快
资料也比较多
基于库开发更快速,但寄存器的更底层
所以实际应用可以库开发,但要了解寄存器开发的基本知识。
寄存器会让你学会怎么读写寄存器驱动硬件工作的,更深入学会硬件是怎么工作的,更本质一点,更偏向于硬件
库函数不关注硬件底层,更方便做项目,快速高效出项目做产品,更偏向于软件层面
一般需要会寄存器,能看懂寄存器项目代码,能看懂会查手册就行,会方法就可以,不要沉迷于寄存器,不要干什么都想自己写寄存器实现,枯燥耗时间,官方有现成的库没必要自己再学。还需要熟练使用库,工作干活快。
会寄存器,让你有造轮子的能力,而不是要你造轮子。熟练用库,可以站在巨人的肩上。
小白先玩库函数,库函数只要理解了就能愉快玩耍
等你熟练了在深入学习寄存器,就会如醍醐灌顶一般明朗