学习一款单片机,如果我们知道了它的底层原理,也就是能看懂并且会运用芯片手册,那么掌握一块芯片就变得相对容易了许多,哪里不懂查哪里。将底层代码封装成函数,那么可读性则大大增加,移植也方便。
大多数时候,我们使用封装好的库函数,用起来方便且省时。就如stm32电亮一个小灯,用寄存器通过地址的偏移也能实现,用库函数对引脚的配置也能实现,看起来操作寄存器的方法代码量反而较少,但对于其他人来说就不这么友好了,不看芯片手册,很难知道这是啥。以前没有了解单片机的底层原理的时候,我用每一个函数都是虚的。在了解了一些微机原理的知识后,再结合手册,我就喜欢将每一个封装好的函数一探到底,再和芯片手册上一对比,这样我用每一个函数时就有底气了。
单片机往往是和传感器配合使用,不论是单总线,I2C,或者SPI通信的传感器,在手册里是没有现成的代码的,但它会给你时序图,但这也就够用了。将时序图直接转换为代码的能力我觉得掌握起来很难,而且网上代码也很多,会读会改就行了。也许看出经验之后自然就会了。
想当初我最纠结的点在于,万一换个stm32芯片程序是不是就不能用了,现在看来是非常可笑的。当把几块f1系列芯片最小系统原理图拿出来看了一下后,再结合芯片手册看了一下,芯片的区别就在于扩展了多少引脚出来,而P_ABCDEFG的基地址和偏移量是没有变的,就好比修很多栋楼,有高有低,但是都是同一平面,固定层高的。所以我们拿到一个芯片的时候,一定要把它的名字搞清楚,就比如STM32C8T6:
所以在大三上半年课程的学习中,在微机原理和嵌入式这两门课的引导下,我逐渐明白了芯片手册中那些奇奇怪怪的数字背后的意思了。所以在寒假也算是做一个总结吧,把一路走来的资料整理了一下分享给大家,也给各位推荐一个我觉得最适合纯新手的视频:https://www.bilibili.com/video/BV1N7411x7Yk?p=1
,也感谢站内大佬们对知识的分享。
链接:https://pan.baidu.com/s/1sJRMJAR9UQF0Gtm3NODpUA
提取码:3378
复制这段内容后打开百度网盘手机App,操作更方便哦