handle_it.c

void TIM2_IRQHandler(void)
{
  /* USER CODE BEGIN TIM2_IRQn 0 */
    //prescaler=31, period=999,1ms
    
    if(timer_key.sigle_num>0){//检测到单线扫描按键按下,即开始计时
        timer_key.sigle_count++;
    }
    if(timer_key.sigle_count > KEY_TIME_OUT){//单线扫描超时到,主循环里判断是单击还是双击
        timer_key.sigle_tmr_out = 1;
    }
    
    if(timer_key.seven_num>0){//检测到7线扫描按键按下,即开始计时
        timer_key.seven_count++;
    }
    if(timer_key.seven_count > KEY_TIME_OUT){//单线扫描超时到,主循环里判断是单击还是双击
        timer_key.seven_tmr_out = 1;
    }

    /**************************单线扫描**********************************/
    //单线扫描补光灯计时
    if(scan_timer.scan_timer1.time_led_1.start_up == 1){
        scan_timer.scan_timer1.time_led_1.count++;
        if(scan_timer.scan_timer1.time_led_1.count >= store_info.store_timer1.total_time_1led){
            Camer1_Off();
            Camer2_Off();
            Led1_Off();
            Led2_Off();    
            scan_timer.scan_timer1.time_led_1.start_up = 0;
            scan_timer.scan_timer1.time_led_1.count = 0;
            scan_timer.scan_timer1.time_ledto1.start_up = 1;
        }
    }
    //单线扫描补光灯到激光A计时
    if(scan_timer.scan_timer1.time_ledto1.start_up == 1){
        scan_timer.scan_timer1.time_ledto1.count++;
        if(scan_timer.scan_timer1.time_ledto1.count >= store_info.store_timer1.total_time_1ledto1){
            Laser3_On();
            Camer1_On();
            Camer2_On();
            scan_timer.scan_timer1.time_ledto1.start_up = 0;
            scan_timer.scan_timer1.time_ledto1.count = 0;
            scan_timer.scan_timer1.time_1.start_up = 1;
        }
    }
    //单线扫描激光采图计时
    if(scan_timer.scan_timer1.time_1.start_up == 1){
        scan_timer.scan_timer1.time_1.count++;
        if(scan_timer.scan_timer1.time_1.count >= store_info.store_timer1.total_time_1){
            Laser3_Off();
            Camer1_Off();
            Camer2_Off();
            
            scan_timer.scan_timer1.time_1.start_up = 0;
            scan_timer.scan_timer1.time_1.count = 0;
            scan_timer.scan_timer1.time_1toled.start_up = 1;            
        }
    }
    if(scan_timer.scan_timer1.time_1toled.start_up == 1){
        scan_timer.scan_timer1.time_1toled.count++;
        if(scan_timer.scan_timer1.time_1toled.count >= store_info.store_timer1.total_time_1toled){
            
            scan_timer.scan_timer1.time_1toled.start_up = 0;
            scan_timer.scan_timer1.time_1toled.count = 0;
            
            if(sys_info.sigle_one_flag == 0){
                scan_timer.scan_timer1.time_led_1.start_up = 1;
                Camer1_On();
                Camer2_On();
                Led1_On();
                Led2_On();    
            }            
        }
    }
    


    /**************************7线扫描**********************************/
    if(scan_timer.scan_timer7.time_led_7.start_up == 1){//补光灯开启计时
        scan_timer.scan_timer7.time_led_7.count++;
        if(scan_timer.scan_timer7.time_led_7.count >= store_info.store_timer7.total_time_7led){  //7线补光灯采集时间到
            Camer1_Off();
            Camer2_Off();
            Led1_Off();
            Led2_Off();    
            scan_timer.scan_timer7.time_led_7.start_up = 0;
            scan_timer.scan_timer7.time_led_7.count = 0;
            scan_timer.scan_timer7.time_7ledto1.start_up = 1;
        }
    }
    if(scan_timer.scan_timer7.time_7ledto1.start_up == 1){//补光灯到激光A计时
        scan_timer.scan_timer7.time_7ledto1.count++;
        if(scan_timer.scan_timer7.time_7ledto1.count >= store_info.store_timer7.total_time_7ledto1){//7线激光A开启时间到
            
            scan_timer.scan_timer7.time_7ledto1.start_up = 0;
            scan_timer.scan_timer7.time_7ledto1.count = 0;
            scan_timer.scan_timer7.time_71.start_up = 1;
            if(sys_info.run_seven_ab == 1){
                Laser1_On();
                Laser2_On();
                Camer1_On();
                Camer2_On();
            }else{
                Laser1_On();
                Camer1_On();
                Camer2_On();                                
            }            
        }
    }

    //
    if(scan_timer.scan_timer7.time_71.start_up == 1){//激光A开启计时
        scan_timer.scan_timer7.time_71.count++;
        if(scan_timer.scan_timer7.time_71.count >= store_info.store_timer7.total_time_71){//7线激光A关闭时间到
            scan_timer.scan_timer7.time_71.start_up = 0;
            scan_timer.scan_timer7.time_71.count = 0;
            if(sys_info.run_seven_ab == 1){
                Laser1_Off();
                Laser2_Off();
                Camer1_Off();
                Camer2_Off();
                scan_timer.scan_timer7.time_72toled.start_up = 1;    
            }else{
                Laser1_Off();
                Camer1_Off();
                Camer2_Off();
                scan_timer.scan_timer7.time_71to72.start_up = 1;
            }
        }
    }
    if(scan_timer.scan_timer7.time_71to72.start_up == 1){//激光A到B间隔计时
        scan_timer.scan_timer7.time_71to72.count++;
        if(scan_timer.scan_timer7.time_71to72.count >= store_info.store_timer7.total_time_71to72){//7线激光B开启时间到
            Laser2_On();
            Camer1_On();
            Camer2_On();
            scan_timer.scan_timer7.time_71to72.start_up = 0;
            scan_timer.scan_timer7.time_71to72.count = 0;
            scan_timer.scan_timer7.time_72.start_up = 1;
        }
    }
    
    if(scan_timer.scan_timer7.time_72.start_up == 1){//激光B开启计时
        scan_timer.scan_timer7.time_72.count++;
        if(scan_timer.scan_timer7.time_72.count >= store_info.store_timer7.total_time_72){//7线激光B关闭时间到
            Laser2_Off();
            Camer1_Off();
            Camer2_Off();            
            scan_timer.scan_timer7.time_72.start_up = 0;
            scan_timer.scan_timer7.time_72.count = 0;
            scan_timer.scan_timer7.time_72toled.start_up = 1;                    
        }
    }
    if(scan_timer.scan_timer7.time_72toled.start_up == 1){//激光B关闭计时
        scan_timer.scan_timer7.time_72toled.count++;
        if(scan_timer.scan_timer7.time_72toled.count >= store_info.store_timer7.total_time_72toled){//7线补光灯开启时间到
            
            scan_timer.scan_timer7.time_72toled.start_up = 0;
            scan_timer.scan_timer7.time_72toled.count = 0;
            
            if(sys_info.seven_one_flag == 0 && sys_info.seven_ab_one_flag == 0){
                scan_timer.scan_timer7.time_led_7.start_up = 1;
                Camer1_On();
                Camer2_On();
                Led1_On();
                Led2_On();
            }
            
        }
    }
    

#if 0
    sys_info.time_count++;

    sys_info.count_led1++;
    sys_info.count_led1 %= 10;
    if(sys_info.count_led1 > (8)){
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET);
    }else{
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET);
    }
#endif

//    if(sys_info.time_count%2 == 1){
        //HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_SET);
        //HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_12);
        
        
//        HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_5);
//        HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_6);
//        HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_7);
        

//    }else{
//        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET);
//    }
    
  /* USER CODE END TIM2_IRQn 0 */
  HAL_TIM_IRQHandler(&htim2);
  /* USER CODE BEGIN TIM2_IRQn 1 */

  /* USER CODE END TIM2_IRQn 1 */
}

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值