一、创建CubeMX工程项目
1.打开STM32CubeMX创建工程
2.选择单片机型号
3.初始化配置
二、keil编写代码
1.打开文件后进入keil
将代码写入此处,烧录即可
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_RESET); // PA0处灯亮
HAL_Delay(1000); // 延时1s
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_SET); // PA0处灯灭
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); // PA4处灯亮
HAL_Delay(1000); // 延时1s
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); // PA4处灯灭
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); // PB0处灯亮
HAL_Delay(1000); // 延时1s
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); // PB0处灯灭
2.波形仿真
3.控制LED亮灭
将生成的文件选择外部中断
代码如下:
HAL_GPIO_EXTI_Callback(GPIO_Pin)
{
if(GPIO_Pin == GPIO_PIN_0|GPIO_PIN_1)
{
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_9,GPIO_PIN_SET);
}
}
while (1)
{
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_8);
HAL_Delay(250); //延时0.25s
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_9);
HAL_Delay(250); //延时0.25s
}
总结:
- 打开STM32CubeMX,创建一个新的工程并选择对应的芯片型号。
- 在Pinout配置中,设置两个GPIO端口分别连接到两只LED灯。
- 在Configuration中,启用对应的时钟使能和配置GPIO为输出模式。
- 在Core中,选择HAL库作为代码生成方式,并生成代码。
- 在Keil中打开生成的工程,在
main.c
文件中编写代码来实现LED的周期性闪烁。