【正点原子】 手把手教你学STM32 系列视频之 STM32F4-基于探索者F4

MDK软件-开发环境
USB串口
ISP串口下载
USB串口转换电路(CH340&PL2303芯片)
- 下载只能使用串口1
注意事项

新建工程模板
库函数和寄存器的区别
1、STM32——把寄存器封装进库函数中,直接操作库函数来操作寄存器
2、底层代码需要了解相关寄存器知识
第10讲 新建工程模板-基于固件库 P9 - 34:17
System_InitSystem_Init
1、全局宏定义
2、新建工程模板
GPIO工作原理
基本结构
- 144脚芯片
- 112个IO口 16*7
- A ~ G // 0~15
- PA9 -- 串口引脚
工作方式
- 4大类的输入输出模式
- 输入浮空模式
- 输入上拉
- 输入下拉
- 模拟输入模式(A/D转换)
- 输出工作模式
- 开漏输出模式
- 只能输出强低电平,高电平得靠外部电阻拉高。
- 开漏复用输出
- 推挽输出
- 可以输出强高低电平,连接数字器件
- 推挽复用输出
- 4种最大输出速度
- 有FT的IO口可以支撑5V容忍
跑马灯实验
GPIO的基本知识

- 推挽输出(强上拉下拉)
- 头文件&源文件
- 源文件,misc、gpio、rcc、usart留下
第13讲 手把手编写跑马灯实验-库函数 P12 - 06:32
- rcc-时钟使能
Init初始化函数
MODER - -》 工作模式
OSPEEDR - -》 输出速度
OTYPER - -》 输出类型
PUPDR - -》 上下拉方式
右键 go to definition of 查看变量函数定义使用方法
- 一次初始化一个IO组下的多个IO,前提是IO口的配置方式一样
- uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef*GPIOx,unit16_t GPIO_Pin); //读取某个GPIO口的输出电平
- uint16_t GPIO_ReadOutputDataBit(GPIO_TypeDef*GPIOx); //读取某组GPIO组中所有io口的输出电平
高低电平设置
SetBits ---- 输出高电平
ReseBits ---- 输出低电平
步骤
使能IO口时钟。
初始化IO口模式
操作IO口
位操作
通过一个公式来进行地址的映射