STM32开发板选择介绍

1.学习前应掌握基础

C语言编程(必须)

基本电子电路概念

2.教程主要学习内容-基础必读

①.了解STM32芯片

②.了解STM32芯片开发本质即是通过汇编或者C语言向芯片内部各外设寄存器写入数值,具体数值与功能模式从芯片手册查阅得出。

③.在理解 ② 的基础上,利用官方提供的标准固件库或者HAL库等等,用户可以更好方便进行编程,从库源码和头文件中熟悉各种值的宏定义、枚举类型和外设初始化、功能配置、使能、数据读取写入、状态标志相关等函数。

④.理解了如何使用标准固件库或者HAL库的编程方式后,逐步学习芯片内部常用外设和功能:GPIO普通输入输出、中断、定时器、串口、SPI、I2C、ADC、液晶屏幕显示基础界面、SDIO等等

利用例程在开发板底板上的对应连接进行试验,经过上述过程按照教程入门学习掌握了大部分章节后,

再按照自己的需要和设计想法,通过芯片能有的外设和功能外接其他传感器、模块、电路结构等等完成设计,以上对其他MCU芯片也是相通道理。

3.开发板选择

①.对于任意开发板 STM32芯片本身和大部分常用外设比如GPIO、串口、定时器、SPI、I2C、ADC等等的知识都相通,所以都可以利用底板或者外接上述接口的传感器模块等进行试验,

初学者建议使用F103 F4开发板入门学习即可。

②.F103至F429开发板各自录制有利用标准固件库开发视频。

F767以上ST官方只提供HAL库,可以查看HAL库开发视频,包含有F1至H7芯片知识点。

关于标准固件库和HAL库选择,没有本质上的差异,只是库整体的封装程度和提供的函数使用方式等等不同,主要的STM32芯片本身知识相通,任意先学习一种和两种都学习加深对比思考都可以。

3.教程主要学习内容-进阶选读

基础部分为主要学习标准固件库或者HAL库下对芯片外设应用,已经能完成大部分设计想法,在理解掌握基础篇内容后 才能考虑以下部分学习:

①.嵌入式操作系统:FreeRTOS uCOS-III RT-Thread等,按需要任意先学习一个即可,主要原理相通,主要为学习系统提供的API函数操作来控制各任务的创建、延时、调度、数据同步等。

对于普通流程程序可以不用带上嵌入式操作系统,利用官方库裸机编程就可以,当程序想用上GUI库或者以太网协议栈等时,建议先学习嵌入式操作系统并配合使用。

②.GUI库:使用裸机基础液晶驱动例程可以做简单界面,类似于编写绘制线条方框图片组成,当要实现更丰富复杂的界面时一般需要学习与利用图形GUI库,目前有emWin教程,例程配合使用FreeRTOS。其他GUI库比如LVGL也可以参考网上资料学习。

③.LWIP : 适合在嵌入式芯片移植的轻量化的TCP/IP协议栈,例程配合使用FreeRTOS。

4.细节参数

在理解了上述内容后,查看下图列出的主要对比参数,单独开发板详细参数可以由淘宝详情页查看,或者从 https://embedfire.com/download/ 中间点击下载产品手册。

请将图片另存为或者单独打开窗口放大查看