在大学刚开始接触51单片机的时候,我们学习的都是汇编指令,再到后来学习了C语言,用C语言代替汇编指令来开发编程单片机。
STM32单片机的编程也是一样的,虽然支持汇编,但基本上没有人用,STM32程序都是基于C语言编程的。
编程序代码可读性差,不方便移植,所以逐步的被淘汰,单片机目前基本上都是支持C语言程序编程。
如何学习STM32单片机开发?
想学好单片机,我们拥有一个开发板是必不可少的,单片机开发学习最要紧的就是要实操,配套开发板学习,很多程序代码通过开发板来验证,才能找到程序编程的感觉和兴趣。
STM32单片机,我们推荐大家选择从STM32F103开始学习,性价比高,应用比较广。
当然,我更倾向于通过项目去学习STM32,通过项目可以一步到位,如果通过开发板学习,你会发下,学完以后还是不知道怎么做项目。
无际单片机编程提供的STM32实战项目学习,通过项目实战学习单片机开发可以帮助大家更高效的学习并掌握单片机编程开发。
2.搭建开发环境
STM32单片机开发学习的第一件事情,就是要搭建单片机的开发环境。
STM32单片机最常用的开发环境有Keil和IAR,两个各有优势,目前选择使用Keil的人更多一点,所以Keil更通用,也推荐大家使用Keil软件。
Keil软件有多个版本,包括Keil C51,KeilMDK等,STM32单片机需要安装KeilMDK版本,正式版本是需要收费的,如果大家是学习,大家可以在网上搜索Keil注册机破解。
除了安装Keil,还需要下载并安装STM32F10x_StdPeriph_Lib_V3.5.0,STM32单片机编程用到的库文件都来自这个文件。
关于软件的安装,在这里就给大家不介绍了,网上有大把的资料。
搭建好Keil开发环境之后,还需要掌握STM32单片机的烧录。
关于STM32单片机程序的烧录有三种方式:分别是ST-Link,J-Link和ISP(串口下载.)
如果是长时间开发使用,建议大家选择ST-Link,ST-Link不仅可以下载程序,也可以方便大家调试仿真,使用非常方便。
ST-Link烧录工具,某宝上大把,我们可以选择价格比较合适的购买即可,不过一般开发板都会自带ST-Link烧录工具,不需要大家重新购买。
3.收集开发资料
“STM32 参考手册”、“Cortex-M3 权威指南”、“STM32 不完全手册-库函数版本”这三个资料是STM32单片机最官方,最权威的资料,而且以上的资料都是有中文版本的。 大家在初学阶段,要学会参看和利用这些资料。
这些资料网上大把的,大家百度直接可以下载就可以了,少啰嗦,我们直接开始动手学习STM32单片机,直接在开发板上实战学习STM32单片机的实验。
4.动手开始学习STM32单片机
学习板一般会带配套的学习教程,我们跟着开发板的教程学习就可以。
刚开始学习的时候做的第一个实验就是点亮第一个LED灯,这个小实验的代码量比较小,也可以让大家动手实现单片机编程,并达到实验效果的感觉还是特别激动的。
单片机的学习碰到问题如果不能解决,容易产生枯燥,烦躁,不耐烦的情绪,大家一定要多点耐心,学习一定是通过我们不断努力积累的。
5.掌握调试技巧
刚开始敲代码实战的时候,编译经常会出现很多错误和警号,我们要学会处理这些警号和错误的能力。
处理程序编译的时候提示错误和警号是STM32单片机程序编程必须要掌握的技能之一,最常用的方法有:
①双击编译提示的错误语句,程序会自动的跳转到错误处,然后再跳转的地方的前后查找问题
②刚开始写代码,最常见的错误包括:大括号不对应,语句的后面忘记写分号,分号写成了中文格式,函数未声明,变量未定义等。
③对于一些不能处理的警号或错误,可以复制错误提示,然后百度,大多数的错误都可以通过这个方法处理
有时候我们写的代码,没有错误和警号,但就是不能实现功能,这个时候我们就需要通过单片机的仿真功能来寻找代码的问题。
成为高手,就是不断看,不断改,然后再自己重写的过程。