stm32入门建议跳过固件库去学习hal库吗?
如果要以单片机作为以后的工作方向,建议还是深入了解一下单片机的原理与机制,比如串口收发的时候,内部的寄存器是怎么工作的,中断又是怎么工作的,然后我们又是怎么进行中断处理的。最近很多小伙伴找我,说想要一些stm32的资料,然后我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「stm32资料从专业入门到高级教程+工具包」,点个关注,全部无偿共享给大家!!!
评论区回复“888”,关注我之后私信回复“666”,即可拿走。为了可移植性与抽象性,hal库对底层操作进行了重重封装,我们使用hal库的时候不仅很难知道底层原理,同时也很难读懂他的库代码,由于不知道系统的运行机制,代码写出来心里也没底。从深入学习的角度来说,我不建议直接上手hal库,我的建议是,学LL库,构建自己的片上外设驱动,然后能驱动板子上的外部设备。这要求你仔细地查阅官方的数据手册,根据每个片上外设的运行机制来写自己的驱动函数,以串口通信为例,可以先实现最简单的轮询发送串口,再结合中断实现串口接收,然后再深入,可以加入串口接收缓冲区,dma(这些hal库帮你实现了,使用ll库的话需要自己来构建)……对于深入学习来说,这非常有好处,不过这是一条有难度的路。