从51单片机转Stm32的开发,相对于对从51不熟悉就直接学习stm32的朋友来说,要容易的很多,因为在学习51和学习stm32的思路与方法,基本上差不多,如果您学习51单片机学的不错,在学习stm32的时候事半功倍。

建议最开始购买一套开发板,如果自制Stm32开发板是很麻烦的事情,需要原理图。pcb元器件都要自己弄,还要焊接调试硬件电路等等事情,调试硬件又需要软件配合,因为本身学习Stm32的软件开发,就需要保证硬件的功能正常,所以建议购买成熟的开发板,在硬件上省心,而且相对可以咨询同样学习这样开发板的人,利于后续解决问题。

选择开发板,功能配件不要有多齐全,基本的按键,串口,TFT,存储,RTC等功能要有, 具体买回来开发板之后 需要搭建开发环境,看您在51单片机学习过程中使用的什么开发软件,如果是keil或者IAR,直接使用高点的版本,都兼容stm32开发,只需要在创建工程时,选择对应的型号就可以了,而且买开发板,都会提供开发用的软件以及安装的教程,,实在不知道怎么用的时候,找找教程,照着教程安装测试就可以了,

接下来做什么呢? 需要测试下开发板各个功能。 一般买开发板都会有资源包,里面包括各种资料和教程,以及各个功能的源代码,拿到开发板以后,先使用这些工程下载到板子里面,验证下板子功能是否正常,如果不正常还可以退换货,顺便也学习下如何keil 如何编译,烧录程序,有必要操作下如何进行仿真。 这里说下我觉得学stm32必须要有的资料,

《Stm32系列ARM内核32位高性能微控制参考手册》,这个文件是对寄存器和时钟树详细说明,因为我开发基于寄存器操作。这个文件经常会用。另外就是对应的型号的芯片数据手册。这个手册是用来确定各个芯片引脚功能。 接下来开始自己的一个工程,先打开开发板的原理图,找到一个led灯的引脚,然后在写这个IO口高低电平的程序,

51单片机与stm32有很多差异,其中有一点就是时钟的部分,Stm32有比较复杂的时钟控制,系统时钟可以倍频,stm32还有比51复杂的总线构架和各个内部寄存的时钟控制器stm32内部的IO,串口,等模块都有自己的时钟控制,想要用哪个,都必须打开对应的时钟使能。时钟树和时钟控制,总线都在我上面提到的文件里面有详细表述。我这里不多说了。

开始第一个工程时候,先不急着配置stm32系统时钟,使用stm32默认的内部时钟,配置好io口的使能时钟,然后输出对应的高低电平,对于io口。先要知道输入输出的配置,这个是基础。 学完端口,可以开始配置外部时钟,倍频到一定工作频率 在学习串口。因为串口可以将代码中的信息打印出来。是一种比较方便的调试手段,所以这个部分很重要,其他的部分,我个人觉得可以结合自身的意愿和工作需要进行学习。这样Stm32就算入门了

stm32这颗芯片出现好几年,现在网上的教学视频和资料都很多,几个大的开发板供应商都有自己的论坛,比如原子的开发版,野火的开发板,神舟的开发板,等等很多很多。选择一款合适自己的跟着练习。

总结

第一购买开发板

第二 搭建开发环境,了解编译,下载调试的步骤,

第三 了解stm32的构架图和时钟数结构,开发板的原理图。

第四 学习最简单的Stm32的端口输入输出。配置您stm32第一颗神灯的亮灭。按键的输入获取

第五 学习串口接受发送,方便调试打印信息

第六学习ADC采集,RTC ,可以将采集到的数据通过串口打印出来

第七 显示屏功能的实现

……

做完以上,基本上stm32就真的入门了,只要后面多实践,能力自然越来越强的。

对于STM32的学习,很多人都纠结学习寄存器操作还是库函数,对于这两种方向,各有优劣,

寄存器学习,缺点是刚开始会比较慢,需要不断查看官方的寄存器手册,一点点调试,,但优点也很明显,后续的开发设计中会有明显的优势,就是代码可控,编写项目的代码构架可控,尤其是有些项目需要对STM32的flash容量有要求,或者有些项目需要单片机精准控制和高精度采集时,寄存器操作有明显优势。

所以在实际开发过程中,有时候寄存器与固件库结合,比如有时候,也会调用一些固件库的文件函数,比如usb 部分,主要是usb时序太复杂了,直接调用,在适当修改下,将里面的不必要的代码删掉后加到自己的工程中来的 ,合理利用现有的知识转化为项目即可。

以上只是我一人观念,难免会有偏颇和讲解不到位的地方,

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查