|
对于HAL库开发方式生成的代码,开始的时候感到很迷茫,密密麻麻的函数声明、变量定义,似乎令人无从下手,但是跟着课程听得多了,也便慢慢多了些感悟。
在这些陌生的语句里,我逐渐找到了熟悉的东西:输入输出的本质还是对I/O口的配置,我能看得懂51里类似"P0^7=0"的语句,也知道它的复杂定义隐藏在reg51.h里,或许我不了解它具体是如何配置相关sfr的,但是我知道HAL_GPIO_WritePin/ReadPin与它有着相似的功能。点阵、数码管、串转并芯片,这些元器件的原理我都知晓,我坚信现在残留的距离感源自练习次数的不足。函数的封装是一种灵活强大的方式,也是我现在比较迷惑的点,录播课程一直未往后推进,也是因为自我感觉未曾领悟到精髓。例程代码中的语句也有部分看不懂,唯有翻开c语言书籍慢慢拾起以前的知识细细揣摩。
实操是提升对知识理解的重要途径,我深深知晓,录播课眼睛所见脑中所想与亲自动手编程会有较大差异,或许你以为很简单的代码,自己敲出来不是关键字拼错就是少了括号,这个排错的过程可能看来略微漫长枯燥,却能够加深对代码的理解。其实这本身也是一件很有趣的事,或许我是个焊接菜鸟,但是在代码验证上,面包板或许更具优势。
课程学习方面,希望在介绍完封装知识后,可以选个较为复杂的模块,老师带着从头到尾编写一次函数制成录播课加深理解,直播课时间较短,略显仓促。不过录播课里听老师说后续高阶篇会有对封装的详细介绍,很是期待。虽然有许多迷惑,但是总归还是学到了不少知识,每周一点新感悟,相信量变会引起质变。
|
|