- STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器
ST:ST公司;
M:Microcontroller(微控制器MCU,单片机);
32:32位单片机;
内核:ARM Cortex-M,程序指令的执行、加减乘除,相当于芯片CPU
*ST公司拿着ARM公司的内核,完善外围电路,封装起来成了STM32
*以ARM为内核的芯片称为基于ARM内核的单片机
- STM32在嵌入式领域
智能车:用STM32做寻迹小车,读取光电传感器或摄像头数据,然后驱动电机前进和转弯;
无人机:STM32读取陀螺仪加速度计的姿态数据,然后根据控制算法去控制电机的速度,从而保证飞机稳定飞行;
机器人:STM32控制舵机来控制机器人的关节,让机器人运动;
无线通信:给STM32接上2.4G无线模块或者蓝牙、WIFI模块;
物联网:借助无线通信模块通信,比如蓝牙、WIFI、ZigBee,再通过STM32驱动继电器控制220V电路的通断;
工业控制:PLC主控有STM32;
娱乐电子产品
STM32家族
- ARM既指ARM公司,也指ARM处理器内核
- ARM公司是全球领先的半导体知识产权(IP)提供商,只设计内核不生产实物
- ARM公司设计ARM内核,半导体厂商完善内核周边电路并生产芯片,如STM32
- ARM内核型号
- STM32F108C8T6
- 片上资源/外设(Peripheral)
通过程序配置外设到达想要的功能
下面两个是位于Cortex-M3内核里面的外设,其余的则位于内核外
NVIC |
嵌套向量中断控制器 |
管理中断,如配置中断优先级
SysTick |
系统滴答定时器 |
内核里的定时器,给操作系统提供定时服务,完成delay函数
STM32可以加入操作系统如FreeRTOS,UCOS等,如果用了这些操作系统,就需SysTick提供定时来进行任务切换功能
RCC |
复位和时钟控制 |
对系统的时钟进行配置,使能各模块的时钟。STM32中,其他外设上电情况下默认为了降低功耗没有时钟。不给时钟的情况下,操作外设是无效的,外设也不会工作。所以操作外设之前,应使能时钟。RCC来完成时钟的使能
GPIO |
通用IO口 |
用来点灯读取按键等
AFIO |