|

楼主 |
发表于 2021-3-25 11:07:21
|
显示全部楼层
我弄了个标志位点灯,
void LED1_START(void)
{
if(start)
{
if(timer_cnt==0)
{
LED2(0);
LED3(1);
LED4(1);
LED5(1);
}
if(timer_cnt==time_set1)
{
LED2(1);
LED3(0);
LED4(1);
LED5(1);
}
if(timer_cnt==time_set2+time_set1)
{
LED2(1);
LED3(1);
LED4(0);
LED5(1);
}
if(timer_cnt==time_set3+time_set2+time_set1)
{
LED2(1);
LED3(1);
LED4(1);
LED5(0);
}
if(timer_cnt==time_set4+time_set3+time_set2+time_set1)
{
LED2(1);
LED3(1);
LED4(1);
LED5(1);
start = 0;
timer_cnt = 0;
}
}
if(start==0)
{
LED2(0);
LED3(0);
LED4(0);
LED5(0);
timer_cnt=0;
}
}
然后解析指令是这些:
void NotifyButton(uint16 screen_id, uint16 control_id, uint8 state)
{
//按键控制LED灯亮灭
if(screen_id == 0)
{
if(control_id==26)
{
start = 1;
HAL_UART_Transmit(&huart3,&start,1,1);
}
else if(control_id==25)
{
start = 0;
HAL_UART_Transmit(&huart3,&start,1,1);
}
}
}
点灯那个程序是放在定时器中断里的
void TIM2_IRQHandler(void)
{
/* USER CODE BEGIN TIM2_IRQn 0 */
/* USER CODE END TIM2_IRQn 0 */
HAL_TIM_IRQHandler(&htim2);
/* USER CODE BEGIN TIM2_IRQn 1 */
LED1_START();
/* USER CODE END TIM2_IRQn 1 */
}
然后发现控制不了灯的亮灭,一直都是亮着三个灯,点击按钮也没反应
|
|