完整学习一遍stm32开发板开发,并打算坚持一直写笔记。
这是第一课,stm32的介绍
1.什么是STM32
从字面意义来看:
ST:意法半导体,是一个公司的名字。
M:Microelectronics的缩写,表示微控制器,要注意微控制器和微处理器的区别
32:32bit的意思,表示这是一个32bit的微控制器Cortex-M3采用ARMv7-M架构
ARMv7架构定义了三大分工明确的系列:
“A”系列:面向尖端的基于虚拟内存的操作系统和用户应用
“R”系列:针对实时系统;
“M”系列:对微控制器。
2.STM32与ARM的关系
ARM是英国的芯片设计公司,其最成功的莫过于32位嵌入式CPU核ARM系列,最常用的是ARM7和ARM9或arm11,ARM公司主要提供IP(Intellectual Property core知识产权的核心)核,就是CPU的内核结构,只包括最核心的部分,并不是完整的处理器。ARM把这个核卖给各大半导体公司,如 Philips 三星,ATMEL,甚至Intel等许多公司。ARM为了对付 8位机市场,推出了一系列 Cortex-M核,STM32就是将Cortex-M作为内核,通过一些外设等组合封装在一起就成了32位嵌入式处理器。
3,芯片型号名字每个部分代表的意思
4,stm32f103芯片资源
STM32F103ZET6芯片,其内部资源介绍如下:
(1)内核:32位 高性能ARM Cortex-M3处理器。
时钟:高达72M,可以超频一点。单周期乘法和硬件除
法。
(2)IO口:STM32F103ZET6: 144引脚 112个IO,大部分IO口都耐5V(模拟通道除外),支持调试:SWD和JTAG,SWD只要2根数据线
(3)存储器容量:512K FLASH,64K SRAM。
FLASH存放程序使用的常量,作用类似电脑的硬盘
SRAM存放程序运行时候产生的变量和一些中间变量,作用类似电脑里面的内存
(4)时钟,复位和电源管理:
2.0~3.6V电源和IO电压
-上电复位,掉电复位和可编程的电压监控强大的时钟系统
-4~16M的外部高速晶振
-内部8MHz的高速RC振荡器
-内部40KHz低速RC振荡器,看门狗时钟
-内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到
- 外部低速32.768K的晶振,主要做RTC时钟源
(5)低功耗:
-睡眠,停止和待机三种低功耗模式
-可用电池为RTC和备份寄存器供电
(6)AD:
-3个12位AD(多达21个外部测量通道)
-转换范围:0-3.6V(参考电源电压)
-内部通道可以用于内部温度测量
-内置参考电压
(7)DA:2个12位DA
(8)DMA:12个DMA通道(7通道DMA1,5通道DMA2),支持设:定时器,ADC,DAC,SDIO,I2S,SPI,I2C,和USART
(9)定时器:多达11个定时器
-4个通用定时器
-2个基本定时器
-2个高级定时器
-1个系统定时器
-2个看门狗定时器
(10)通信接口:多达13个通信接口
-2个I2C接口
-5个串口
-3个SPI接口
-1个CAN2.0
-1个USB FS
-1个SDIO
5.STM32能做什么
STM32的用处取决于其内部资源,前面我们了解了STM32内部拥有非常多的通信接口。所以如果使用的模块拥有此接口都可以通信。
比如:
USART:ESP8266 WIFI模块、GSM模块、蓝牙模块、GPS模块、指纹识别模块等。
IIC:EEPROM、MPU6050陀螺仪、0.96寸OLED屏、电容屏等。
SPI:串行FLASH、以太网W5500、VS1003/1053音频模块、SPI接口的OLED屏、电阻屏等。
AD/DA:光敏传感器模块、烟雾传感器模块、可燃气体传感器模块、简易示波器等