STM32CubeMX+流水灯

一、选择型号为stm32f103ve的微控制器

二、基本配置

 

 

 

 三、配置LED灯相关的GPIO

  鼠标点击PE0~PE7引脚选择GPIO_Output

 

 

 

 

 

 四、配置定时器

 

 

 

 

 

 

 

 

五、生成代码

在main.c文件中插入使能TIM6中断的代码

/* USER CODE BEGIN 2 */
	if(HAL_TIM_Base_Start_IT(&htim6)!=HAL_OK)
	{
			Error_Handler();
	}
  /* USER CODE END 2 */

在main.c文件中插入TIM6的中断服务函数

/* USER CODE BEGIN PV */
uint16_t num = 0x100;   //0x100H=0001 0000 0000B设置亮灯的引脚
/* USER CODE END PV */
/* USER CODE BEGIN 4 */
//添加中断服务回调函数
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if(TIM6 == htim->Instance)//判断是否为TIM6产生的中断 { num = num>>1;    //通过寄存器的移位来改变灯的变化 if(num == 0) num = 0x80;    //0x80H=1000 0000B 一轮结束 HAL_GPIO_WritePin(GPIOE,0xff,GPIO_PIN_SET);  //所有引脚为低电平 HAL_GPIO_WritePin(GPIOE,num,GPIO_PIN_RESET); //对应的灯点亮
      //
HAL_GPIO_WritePin(芯片型号,引脚,高低电平)
} } /* USER CODE END 4 */

 

posted @ 2019-12-01 19:10  DingJie1024  阅读(2516)  评论(0编辑  收藏  举报