一、了解STM32
从字面意思来看:
二、STM32与ARM的关系
ARM是英国的芯片设计公司,其最成功的莫过于32位嵌入式CPU核——ARM系列,最常用的是ARM7和ARM9。
ARM公司主要提供IP(Intellectual Property core知识产权的核心)核,就是CPU的内核结构,只包括最核心的部分,并不是完整的处理器。
三、STM32分类及命名
(一)STM32分类
(二)STM32命名规则
例如:
四、STM32的使用
STM32能做的东西很多。
- USART:ESP8266 WIFI模块、GSM模块、蓝牙模块、GPS模块、指纹识别模块等。
- IIC:EEPROM、MPU6050陀螺仪、0.96寸OLED屏、电容屏等。
- SPI:串行FLASH、以太网W5500、VS1003/1053音频模块、SPI接口的OLED屏、电阻屏等。
- AD/DA:光敏传感器模块、烟雾传感器模块、可燃气体传感器模块、简易示波器等。
- 其他的一些接口。
五、STM32F103ZET6芯片
(一)内核
32位,高性能ARM Cortex-M3处理器。
时钟:高达72M,实际还可以超频一点。单周期乘法和硬件除法。
(二)IO口
STM32F103ZET6:144引脚,112个IO,大部分IO口都耐5V(拟通道除外),支持调试:SWD和JTAG,SWD只要2根数据线。
(三)存储器容量
512K FLASH,64K SRAM
(四)时钟,复位和电源管理
- 2.0~3.6V电源和IO电压
- 上电复位,掉电复位和可编程的电压监控
- 强大的时钟系统
- 4~16M的外部高速晶振
- 内部8MHz的高速RC振荡器
- 内部40KHz低速RC振荡器,看门狗时钟
- 内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到
- 外部低速32.768K的晶振,主要做RTC时钟源
(五)低功耗
- 睡眠,停止和待机三种低功耗模式
- 可用电池为RTC和备份寄存器供电
(六)AD
- 3个12位AD(多达21个外部测量通道)
- 转换范围:0-3.6V(参考电源电压)
- 内部通道可以用于内部温度测量
- 内置参考电压
(七)DA
2个12位DA
(八)DMA
12个DMA通道(7通道DMA1,5通道DMA2),支持外设:
定时器,ADC,DAC,SDIO,I2S,SPI,I2C,和USART
(九)定时器
多达11个定时器
- 4个通用定时器
- 2个基本定时器
- 2个高级定时器
- 1个系统定时器
- 2个看门狗定时器
(十)通信接口
多达13个通信接口
- 2个I2C接口
- 5个串口
- 3个SPI接口
- 1个CAN2.0
- 1个USB FS
- 1个SDIO
六、学习使用的开发板
七、STM32芯片架构
八、STM32芯片系统结构
九、STM32学习
(一)基本外设
GPIO输入输出,外部中断,定时器,串口。
(二)基本外设接口
SPI、IIC、WDG、FSMC、ADC/DAC、SDIO等。
(三)高级功能
UCOS、FATFS、EMWIN等。
(四)C语言要加强
C 语言是嵌入式开发的基础中的基础。
- 入门及巩固C语言基础:谭浩强的《C程序设计 第四版》
- C语言提高:《C与指针》、《C指针编程之道》等
- 遇到问题可访问官方论坛:
ST官方论坛:www.stmcu.org