main.c

void delay_1us(void)
{
    int i;
    
    for(i=0; i<11; i++){
        __NOP();
    }
}

void delay_nms(int ms)
{
    unsigned int value;

    value = 100*ms;
    
    while(value--){
        delay_1us();
    }
}

MX_GPIO_Init();
  MX_TIM2_Init();
  MX_USART2_UART_Init();
  /* USER CODE BEGIN 2 */
    OD_QueueInit((CirQueue_Str *)&st_uart2.queue, hand_recvbuf, UART2_BUFF_SIZE);
    Param_Init();  //系统参数初始化
    
    //Enable usart2 IT
    __HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE);
    HAL_UART_Receive_IT(&huart2,u2_recvbuf,1);


    //Enable timer2 IT
    HAL_TIM_Base_Start_IT(&htim2);

    
    //EEPROM_Data_Read(store_readbuf, 20);

    //sys_info.scan_start_1 = 1;
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */

  while (1)
  {
        //HAL_UART_Transmit(&huart2, tx_buf, 6, 1000);
        if(sys_info.button_mode == 1){
            if(sys_info.button_sigle_flag == 1){
                sys_info.button_sigle_flag = 0;
                sys_info.scan_start_1 = 1;        
                sys_info.sigle_one_flag = 1;                
                sys_info.run_mode = MODE_SIGLE_START;    
            }
            if(sys_info.button_seven_flag == 1){
                sys_info.button_seven_flag = 0;
                sys_info.scan_start_7 = 1;        
                sys_info.seven_one_flag = 1;
                sys_info.run_mode = MODE_SEVEN_START;
            }
        }else{
            //单线扫描按键按下,判断单击或者双击    
            if(timer_key.sigle_tmr_out == 1 ){        
                if(timer_key.sigle_num == 1){
                    sys_info.run_mode = MODE_SIGLE_STOP;
                }else if(timer_key.sigle_num >= 2){        
                    sys_info.scan_start_1 = 1;            
                    sys_info.run_mode = MODE_SIGLE_START;                            
                }
                memset(&timer_key, 0, sizeof(timer_key));
            }    
                
            //7线扫描按键按下,判断单击或者双击        
            if(timer_key.seven_tmr_out == 1){
                if(timer_key.seven_num == 1){
                    sys_info.run_mode = MODE_SEVEN_STOP;
                }else if(timer_key.seven_num >= 2){    
                    sys_info.scan_start_7 = 1;        
                    sys_info.run_mode = MODE_SEVEN_START;
                }
                memset(&timer_key, 0, sizeof(timer_key));
            }    
        }

        
        if(sys_info.sys_holdon_flag == 1){
            sys_info.sys_holdon_flag = 0;
            if(sys_info.run_mode == MODE_SEVEN_START){
                sys_info.run_mode = MODE_SEVEN_STOP;                
            }
            if(sys_info.run_mode == MODE_SIGLE_START){
                sys_info.run_mode = MODE_SIGLE_STOP;                
            }
        }
        
            
        //单线扫描停止
        if(sys_info.run_mode == MODE_SIGLE_STOP){
            Sigle_Stop();
        }
        
        //7线扫描停止
        if(sys_info.run_mode == MODE_SEVEN_STOP){
            Seven_Stop();
        }

        /单线扫描启动/
        if(sys_info.scan_start_1 == 1){
            sys_info.scan_start_1 = 0;
            Seven_Stop();
            Sigle_Stop();

            scan_timer.scan_timer1.time_led_1.start_up = 1;
            Camer1_On();
            Camer2_On();
            Led1_On();
            Led2_On();        

        }
        

        7线扫描启动///
        if(sys_info.scan_start_7 == 1){
            sys_info.scan_start_7 = 0;
            Sigle_Stop();
            Seven_Stop();

            scan_timer.scan_timer7.time_led_7.start_up = 1;        
            Camer1_On();
            Camer2_On();
            Led1_On();
            Led2_On();            
        }
        
        
        //串口数据处理
        Uart_RxData_Proc();
        Uart_TxData_Proc();

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值