文章目录
一、利用STM32Cube生成相关代码
1、创建新工程文件
点击ACCESS TO MCU SELECTOR创建新的工程文件
2、配置RCC
选择Crystal/Ceramic Resonator
3、配置SYS
选择Serial Wire
4、配置IO
5、配置定时器2
这里我们使用定时器2来实现定时的功能。如图所示,依次点击位置1,选中定时器2;位置2,配置定时器2的时钟源为内部时钟;位置3,分频系数为71,向上计数模式,计数周期为5000,使能自动重载模式。如图:
分频系数那里虽然写的是71,但系统处理的时候会自动加上1,所以实际进行的是72分频。
6、配置中断
如图,开启定时器2的中断
如图,生成定时器2中断优先级配置代码
7、配置时钟
如图所示
8、创建文件
一、keil代码操作
打开刚刚生成的文件,找到main.c文件中
在MX_NVIC_Init()下面添加如下代码
HAL_TIM_Base_Start_IT(&htim2);
在下方找到此处
画圈为添加的代码,代码如下:
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
static uint32_t time_cnt =0;
if(htim->Instance == TIM2)
{
if(++time_cnt >= 100)
{
time_cnt =0;
HAL_GPIO_TogglePin(D1_GPIO_Port,D1_Pin);
}
}
}
然后调试后生成hex文件,通过串口助手烧录,再根据配置连接上led灯就完成了。
三、参考
http://www.mcublog.cn/stm32/2021_01/stm32cubemx-dingshiqi-led/