本笔记基于原子哥精英版STM32F103ZET6
LED实验
1.利用CubeMx完成初始化配置
前提配置:
无论在做任何实验,CubeMx初始化一定需要配置的为:时钟和Debug
配置时钟:RCC两项皆选择Crystal/Ceramic Resonator,配置时钟树时调整为72MHz最大频率。
配置Debug:SYS中选择SW
生成项目配置中选择只保留所用到的函数和生成.h.c文件(需要手动勾选)
LED实验配置:
选用红色灯作实验,选择端口PB5->Output,根据原理图配置为低电平初始化(灯不亮),推挽输出,无上下拉电阻,最高速率(本身低速或中速足够,但是如果想实现流水灯的效果需要选择高速)
2.根据CubeMx生成的代码进行应用程序的编写
前提配置:
首先将魔术棒C++中添加../User的目录路径,不然会识别不到。选择启用微库函数,使能够用C语言。
本次实验中所用到的HAL库函数
(1)HAL_GPIO_WritePin函数
void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
(2)HAL_Delay函数
__weak void HAL_Delay(uint32_t Delay);
(3)HAL_GPIO_TogglePin函数
void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);