STM32学习笔记(2021.04.11)
开发板及芯片了解
STM32————基于ARM内核的32位MCU内核,相对于ARM内核架构不同具有高性能,低成本,低功耗的特点
M4特点
Cortex—M4—ARMv7架构
(第二组成部分含义:
“A”:面向尖端基于虚拟内存的OS和用户应用;
“R”:面向实时系统;
“M”:面向微控制器。)
传统ARM系列采用ARMv4T架构
ARM系列弱于cortex系列架构。
M4核—可进行浮点运算,具有增强DSP指令
(可进行FIR、IIR、复数FFT、矩阵的±*运算)
具有更多的储存空间—1M Flash,196k字节SARM
STM32F4芯片:
144引脚,7*16+2个IO口(大部分耐5V),支持SWD和JTAG,1.8-3.6V电源和IO电压,可倍频。
名词:
SPI:串口
LQFP:引脚
FPU:浮点运算
Flash:闪存
ADC:电压模拟信号-》数字信号
DAC:数字信号-》模拟信号
DMA:直接访问存储器,为CPU减负
TIM:定时器
FIFO:FIFO储存器( First Input First Output,指先进先出),对连续的数据流进行缓存,防止在进机和存储操作时丢失数据;数据集中起来进行进机和存储,可避免频繁的总线操作,减轻CPU的负担;允许系统进行DMA操作,提高数据的传输速度。
boot相关
供电范围与主频最大关系
供电范围 max主频
2.4-3.6V 168MHz
2.1-3.6V 144MHz
1.7-3.6V 128MHz
(频率越高,功耗越高)
跑马灯实验
(源码:
#include “sys.h”
#include “delay.h”
#include “usart.h”
#include “led.h”
int main(void)
{
delay_init(168); //初始化延时函数
LED_Init(); //初始化LED端口
/库函数操作实现IO控制/
while(1)
{
GPIO_ResetBits(GPIOF,GPIO_Pin_9); //LED0对应引脚GPIOF.9拉低,亮,等同LED0=0;
GPIO_SetBits(GPIOF,GPIO_Pin_10); //LED1对应引脚GPIOF.10拉高,灭,等同LED1=1;
delay_ms(500); //延时300ms
GPIO_SetBits(GPIOF,GPIO_Pin_9); //LED0对应引脚GPIOF.0拉高,灭,等同LED0=1;
GPIO_ResetBits(GPIOF,GPIO_Pin_10); //LED1对应引脚GPIOF.10拉低,亮,等同LED0=0;
delay_ms(500); //延时300ms
}
}
)