STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射

参考资料(STM32F1开发指南-库函数版本 第五章delay介绍,Cortex-M3权威指南(中文) P133 )

一. Systick滴答定时器

1.1 Systick滴答定时器介绍

STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射
STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射

1.2 Systick相关的寄存器

STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射

1.2.1 SysTick控制和状态寄存器-CTRL

STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射
STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射

1.2.2 SysTick重装载数值寄存器-LOAD

STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射

1.2.3 SysTick当前值寄存器-VAL

STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射

1.3 Systick相关库函数

STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射
STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射

入口参数如下:

STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射
STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射
装载值如何计算:假设你想延时1ms,选择的时钟为9MHz,则系统需要运行9000个周期,才延时1s,故装载值为9000。

二.delay函数

STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射
fac_us指的是系统延时1us需要运行的时钟周期。这里选择外部时钟=72MHz/8=9MHz,故延时1us需要执行9个周期。
fac_ms指的是系统延时1ms需要运行的时钟周期。这里选择外部时钟=72MHz/8=9MHz,故延时1ms需要执行9000个周期。
STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射

三.端口复用

3.1 复用概念

普通的GPIO引脚可以复用为内置外设的功能引脚,就叫复用。如PA9,PA10引脚即可与当作普通的I/O用,也可以作为USART1的串口引脚使用。

3.2 如何查找外设对应的复用引脚

打开《STM32F103芯片数据手册》,如图所示:

STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射

3.3 端口复用配置过程

STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射
STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射
STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射

四.端口重映射

4.1 端口重映射概念

STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射

4.2如何查找外设对应的重映射引脚

打开《STM32F103芯片数据手册》,如图所示:

串口2的引脚是PA2、PA3,通过重映射可以映射到PD5、PD6引脚。

STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射

4.3 部分重映射与完全重映射

STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射

4.4 端口重映射配置过程

STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射
STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射
STM32学习(6)-Systick滴答定时器、delay函数介绍、端口复用和端口重映射

上一篇:当列表不是首选时


下一篇:STM32第四天