单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统。STM32是一种功能比较强大的32位的单片机,它不仅可以使用寄存器进行编程,还可以使用官方提供的库文件进行编程,这样不仅编程方便,而且更容易移植。如今 STM32 的出现就是一种趋势,一种潮流,我们要 做的就是搭上这趟快车,让自己的技术更有竞争力。
一、STM32是什么?
1.ST— 意法半导体,是一个公司名,即SOC厂商
2.M— Microelectronics的缩写,表示微控制器,大家注意微控制器和微处理器的区别
3.32— 32bit的意思,表示这是一个32bit的微控制器
二、STM32能做什么?
1.串口—USART,用于跟跟串口接口的设备通信,比如:USB转串口模块、ESP8266 WIFI、GPS模块,GSM 模块,串口屏、指纹识别模块
2.内部集成电路—I2C,用于跟I2C接口的设备通信,比如:EEPROM、电容屏、陀螺仪MPU6050、0.96寸OLED模块
3.串行通信接口—SPI,用于跟SPI接口的设备通信,比如:串行FLASH、以太网W5500、音频模块VS1053
4.SDIO、FSMC的超级、I2S、ADC、GPIO
三、从零学习STM32
1.首先阅读STM32相关的文档,假定自己已经对STM32的书籍或者文档有一定的理解。如不理解,请立即阅读STM32的文档,以获取最基本的知识点。
2.第二,选择STM32开发板。选择合适的MCU遵循一个原则:花最少的钱,做最多的事。STM32F1系列就是初学者最好的选择,但在确定项目需求的情况下,一般按照下面的顺序来选择合适的MCU:
3.选择哪种内核的芯片,内核越高意味着功耗也越高
4.选择多少引脚的芯片,引脚多少决定了资源的多少,也影响价格
5.选择多少RAM和FLASH的芯片,FLASH越大,价格越贵
6.还要考虑所选型号采购是否容易,供货是否稳
7.安装Keil(MDK-ARM)开发环境,串口助手等工具
8.学习的时候,关注两个比较重要的文档:《STM32F103xxx参考手册》,《STM32固件库使用手册》。一定要注意,不需要全部阅读——没有时间的。建议选读,但是前几章必读。存储器和总线架构、电源控制、备份寄存器、复位和时钟控制,通用和复用功能I/O,中断和时间等等前几章一定要花时间阅读。
9.至此,着手开始开发人生第一个STM32的项目——点亮照亮人生前程的那盏LED灯,STM32的大门由此打开。