目录
一、使用HAL库点亮LED流水灯
1、实验环境
①安装jdk
由于STM32CubeMX是Java实现的,需要安装jdk环境。
jdk官网下载链接:Java Downloads | Oracle
②安装STM32CubeMX
具体安装请参照下面链接:
③安装MDK5
具体安装请参照下面链接:
2、新建工程
①file->new project
②选择芯片STM32F103C8T6
③SYS
选择
④RCC
选择
⑤选择端口PA4,PB9,PC15,点击设置GPIO_OUTPUT
⑥Clock Configuration
设置
⑦Project Manager
设置
⑧创建完成并用keil打开
3、连接电路
接口TXD---->A10
接口RXD---->A9
A4---->黄灯
B9---->红灯
C15---->蓝灯
4、烧入代码
将下面代码放入主函数中(替代里面的内容),build然后生成.hex文件,将.hex文件烧入Flymcu中
SystemClock_Config();//系统时钟初始化
MX_GPIO_Init();//gpio初始化
while (1)
{
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);//PA4亮灯
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
HAL_Delay(1000);//延时1s
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//PA4熄灯
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//PB9亮灯
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
HAL_Delay(1000);//延时1s
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//PA4熄灯
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);//PC15亮灯
HAL_Delay(1000);//延时1s
}
5、运行结果
二、管脚的时序波形观察
1、Target
2、Debug页的设置:
3、点击Debug,进入调试界面
4、选择逻辑分析仪:
5、选择要观察的引脚:
①点击Setup Logic Analyzer
②添加要观察的引脚:
6、相关设置
7、运行程序:
8观察波形图
引脚为低电平的灯亮,高电平的灯不亮,高低电平转换周期(LED闪烁周期)为1s左右。
三、总结
用STMCubeMX+keil+hal库实现点灯需要自己动手写的代码更少,这种方式更方便快捷。