【NUCLEO-L476RG开发】定时器 1S定时
本帖最后由 chifen 于 2015-11-15 21:14 编辑1,实现功能 ,用TIM6实现定时1S,让板载LED闪烁,LED用的是PA5脚 ,所以要把PA5设置成OUT方式 如图2,把TIM6地方勾一下,定时器Counter Period (AutoReload Register - 16 bits value ) 处设置为39999,定时中断处也要开启,4,时钟设置为 80M5,生成工程文件,我用的是keil5,所以成生这个工程文件,写一个文件名点OK,成功后点打开工程文件6, 添加代码 , 框架生成了,TIM6要开启才能使用,所以要在 void MX_TIM6_Init(void)里或 MAIN里增加 HAL_TIM_Base_Start_IT(&htim6); 启动定时器,
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
{
if(htim_base->Instance==TIM6)
{
/* USER CODE BEGIN TIM6_MspInit 0 */
/* USER CODE END TIM6_MspInit 0 */
/* Peripheral clock enable */
__TIM6_CLK_ENABLE();
/* Peripheral interrupt init*/
HAL_NVIC_SetPriority(TIM6_DAC_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(TIM6_DAC_IRQn);
/* USER CODE BEGIN TIM6_MspInit 1 */
HAL_TIM_Base_Start_IT(&htim6);
/* USER CODE END TIM6_MspInit 1 */
}
}在stm32l4xx_it.c里定义一些变量,/* USER CODE BEGIN 0 */
uint16_t timer_cnt=0;
uint8_t timer_bit=0;
/* USER CODE END 0 */
找到TIM6中断的位置 ,加入下面代码void TIM6_DAC_IRQHandler(void)
{
/* USER CODE BEGIN TIM6_DAC_IRQn 0 */
/* USER CODE END TIM6_DAC_IRQn 0 */
HAL_TIM_IRQHandler(&htim6);
7,编译,烧写 运行
视频
https://v.youku.com/v_show/id_XMTM4NzI1NDcwOA==.html 多谢分享。。 很好 多谢分享.:) 多谢分享:lol:lol:lol
页:
[1]