第二天
讲解了上手思路,大体流程如下:官网下载规格书和参考资料,下载公板或其他开发板资料,根据原理图分析硬件,根据示例程序和参考手册编写程序 。其次是最小系统,外设和寄存器。存储结构等。
个人理解其实之前做硬件大抵也是如此,一个全新的器件,首先要找到规格书查看参数是否符合,供电范围等相关,其次看看是否提供了pcb封装,如果没有依据规格书上的尺寸标注自己做好封装,最后依据画板规范进行PCBlayout. 最小系统和51单片机三要素相同:电源复位晶振,增加了JATG接口。 外设和寄存器方面比51多了一些标准接口。存储结构需要慢慢消化起来。
接下来黄老师讲解了单片机开发的几种方式,分别是汇编,c语言,标准库,HAL库。STM32CUBEmx创建工程等细节问题。 晚上是答疑时间,不过我白天看直播时间不充足,导致课程学习延时,因而答疑时间也跟不上了。好在第二天收到开发板,可以动手操作了。
实践理解至于几种编程方式的优劣与否,相信各大论坛早已展开讨论。我的比如是早上吃嘉兴粽子还是武汉热干面呢?可以依据个人身体条件,口感喜好等来定,适合就好。这里我对老师提供的四种点灯源码做了编译,方便对比程序的大小。(这里都是用kile软件,优化等级为0)
汇编码 Program Size: Code=76 RO-data=8 RW-data=0 ZI-data=0
c语言操作寄存器 Program Size: Code=388 RO-data=24 RW-data=0 ZI-data=96
标准库文件 Program Size: Code=760 RO-data=252 RW-data=0 ZI-data=1632
HAL库文件 Program Size: Code=3760 RO-data=292 RW-data=16 ZI-data=1632
这里需要安装KEIL,PACK包STM32CUBEmx,CH340驱动,百问网STM32F103工具。 keil和CH340驱动安装都没有问题,有51基础。不过与51用的keil不同的是不需要勾选HEX选项输出,默认生成的。这里要说一下PACK包,开始不理解,老师提供的pack已经安装过了,又下载了一个更高的版本,导致STM32CUBEmx报错,
按照百度上的也没用解决,后来重新安装过。第一次接触还是感觉蛮新奇的,可能是我少见多怪吧补充一下STM32CUBEmx工具生成代码需要选择使用KEIL软件,否则默认是IAR的模式。
|