1.GPIO位结构
KEIL5代码在输入输出寄存器中的意思
输入寄存器
uint8_t GPIO_ReadInputDataBit 表示:读取 输入数据寄存器 中的某一位
uint16_t GPIO_ReadInputData 表示:读取 整个输入数据寄存器
输出寄存器
uint8_t GPIO_ReadOutputDataBit 表示:读取 输出数据寄存器 中的某一位
uint16_t GPIO_ReadOutputData 表示:读取 整个输入数据寄存器
2.通用外设驱动模型(四步法)
1.初始化(时钟设置、参数设置、IO设置、中断设置(开中断、设NVIC)可选)
2.读函数(可选)从外设读取数据(可选)
3.写函数(可选)从外设写入数据(可选)
4.中断服务函数(可选)根据中断标志位,处理外设各种中断事务(可选)
3.EXTI的HAL库设置步骤
4.HAL库中段回调处理机制介绍
5.USART/UART异步通信配置步骤
1.开启串口异步接受中断
2.设置中断服务函数
3.发送制定字节数据
阻塞:需要数据发送完成,才能运行其他程序
4.发送采集数据的三种方式
6.ADC不同模式组合的作用
ADC电压转换公式:
ADC实际电压=3.3V参考电压*ADC采样数值/66536(ADC设置16位)
7.ADC单通道采集实验步骤
8.ADC单通道采集(DMA读取)实验步骤
9.基础定时器中断实现步骤
10.通用定时器PWM输出实验
11.通用定时器输入捕获步骤
12.cubeMX步骤
12.PWM输出频率计算
1.普通输出,假设系统时钟SYSCLK=200Mhz,向上计数时,从0计数到ARR,向下计数时,从ARR计数到0;则频率为: f = 200M / (ARR+1)∗(PSC+1)=40KHZ。
例:
计算时钟频率为200MHZ,计数频率为1S一次的值。
解:
arr最大65535
200M/(ARR+1)(PSC+1)=1HZ
1/1HZ=1S
ARR=50000 -1,PSC = 4000-1
2.PWM使用中心对齐模式
PSC=0,ARR=5000
中心对齐的PWM频率是: f = 200M/( (ARR)∗(PSC+1)* 2) = 20KHz
13.设置CCR比较器的值函数
/ 设置CCR1的值
__HAL_TIM_SET_COMPARE(&htim, TIM_CHANNEL_1, 500); // 设置CCR1的值为500
开漏
只能输出低电平,高电平默认是高阻态
14.DMA配置过程具体函数
15.PWM模式和输出比较模式区别
PWM模式和输出比较模式都是STM32定时器的工作模式。它们都是通过改变定时器的计数值来控制输出的占空比,从而控制输出的电平。
两者的区别在于(这里的固定都是在初始状态下,也是可以通过其他方法来调节的):
PWM模式下,定时器的计数值是固定的,而占空比是通过改变CCRx寄存器的值来实现的;
输出比较模式下,CCR寄存器的值是固定的,而占空比是通过改变ARR寄存器的值来实现的。
此外,PWM模式下,所有通道产生的频率都是相同的;而在输出比较模式下,每个通道可以产生不同频率的信号。
16.快速修改当前捕获通道的极性
__HAL_TIM_SET_CAPTUREPOLARITY(__HANDLE__, __CHANNEL__, __POLARITY__)
用于直接设置定时器输入捕获通道的触发极性。这个宏允许你快速地修改捕获极性,而不需要重新配置整个输入捕获通道。