久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 171|回復: 2
打印 上一主題 下一主題
收起左側

stm32電梯控制故障

[復制鏈接]
跳轉到指定樓層
樓主
ID:1151886 發表于 2025-5-27 18:48 來自觸屏版 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我按下一個1樓上,不點擊其他按鍵,但是其他按鍵在電梯運行后自動響應,例如二樓上,二樓下,但是三樓下按下沒反應了,同時我的載重閾值也會自動響應,閾值減少,代碼設置的最多三個請求,然后一直三個請求循環
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:469589 發表于 2025-5-28 08:46 | 只看該作者
首先你的通訊可靠性沒有保障措施,例如采用MODBUS等。
其次你的設備地址或ID最好不要01、02~09這樣,例如一樓用51或E1,這樣可以有效減少別的“樓層”響應或錯誤執行你的指令
另外,通訊要有嚴格的防止意外的措施,否則你說的問題永遠存在。
回復

使用道具 舉報

板凳
ID:1151886 發表于 2025-5-28 18:03 | 只看該作者
發表于 2025-5-28 08:46
首先你的通訊可靠性沒有保障措施,例如采用MODBUS等。
其次你的設備地址或ID最好不要01、02~09這樣,例如 ...

#include "stm32f10x.h"                  // Device header
#include "OLED.H"
#include <stdio.h>
#include "Delay.h"
#include "Timer.H"
#include "AD.H"
#include "LED.h"
#include "key.h"
#include "HX711.h"
#include "PWM.h"

void MAIN_Cycle(void);
void OLED_UI_One(void);

u16 Time_Flag = 0;

u8 Time_1ms_Flag = 0;
u8 Time_2ms_Flag = 0;
u8 Time_5ms_Flag = 0;
u8 Time_10ms_Flag = 0;
u8 Time_20ms_Flag = 0;
u8 Time_50ms_Flag = 0;
u8 Time_100ms_Flag = 0;
u8 Time_200ms_Flag = 0;
u8 Time_500ms_Flag = 0;
u8 Time_1000ms_Flag = 0;

extern u32 weight;
u16 g_weight_threshold = 200;

u8 g_Lift_State = 0;

u8 g_Move_Flag = 0;


u8 g_Key_State = 0;
u8 g_Wait_Flag_Num[3] = {0,0,0};

u8 g_Control_Threshold_State = 0;

u16 Turn_door_flag = 0;

u16 KEY_perss_flag = 0;

int main(void)
{        
        OLED_Init();
    OLED_UI_One();        
        
    HX711_GPIO_Init();
        Get_Tare();
        
        LED_Init();
        Key_Init();
        
        PWM_Init();
//        Adc_Dma_Init();
        
        Timer_Init();


        while(1)
        {
                MAIN_Cycle();
        }
        
}

static void MAIN_Cycle(void)
{
        if( Time_1ms_Flag == 1)
        {
               
                Time_1ms_Flag = 0;
        }
        
        if( Time_2ms_Flag == 1)
        {
               
                Time_2ms_Flag = 0;
        }
        
        if( Time_5ms_Flag == 1)
        {
               
                Time_5ms_Flag = 0;
        }
        
        if( Time_10ms_Flag == 1)
        {        
                if( GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_8) == 0)
                {
                        KEY_perss_flag++;
                }               
                Time_10ms_Flag = 0;
        }
        
        if( Time_20ms_Flag == 1)
        {
                OLED_ShowNumber(72,0,g_Lift_State,1,16);
               
                Time_20ms_Flag = 0;
        }
        
        if( Time_50ms_Flag == 1)
        {
        if( g_Wait_Flag_Num[0]!=0 )
                {
                        if( g_Wait_Flag_Num[0] == 12)
                        {
                                if( g_Lift_State == 1 )
                                {
                                        PWM_SetStop_Rotation();Lift_Uplink_Off();Lift_Downlink_Off();
                                        Turn_door_flag++;
                                        if( Turn_door_flag < 20)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,8);OLED_ShowNumber(104,0,2,1,16);
                                        }
                                        else if( Turn_door_flag < 40)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,8);OLED_ShowNumber(104,0,1,1,16);
                                        }
                                        else if( Turn_door_flag < 60)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,5,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}                                                
                                        }
                                        else if( Turn_door_flag < 80)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,4,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 100)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,3,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 120)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,2,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 140)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,1,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,11);OLED_ShowCHinese(104,0,9);
                                                g_Wait_Flag_Num[0] = g_Wait_Flag_Num[1]; g_Wait_Flag_Num[1] = g_Wait_Flag_Num[2]; g_Wait_Flag_Num[2] = 0;
                                                OLED_ShowCHinese(0,2,13);Turn_door_flag = 0;                                                               
                                        }
                                }
                                else if( g_Lift_State == 2 )
                                {        
                    PWM_SetForward_Rotation();Lift_Downlink_On();                                
                                }
                                else if( g_Lift_State == 3 )
                                {
                    PWM_SetForward_Rotation();Lift_Downlink_On();                                
                                }
                        }
                        else if( g_Wait_Flag_Num[0] == 21)
                        {
                                if( g_Lift_State == 1 )
                                {
                                        PWM_SetRollback_Rotation();Lift_Uplink_On();        
                                }
                                else if( g_Lift_State == 2 )
                                {
                                        PWM_SetStop_Rotation();Lift_Uplink_Off();Lift_Downlink_Off();
                                                Turn_door_flag++;
                                        if( Turn_door_flag < 20)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,8);OLED_ShowNumber(104,0,2,1,16);
                                        }
                                        else if( Turn_door_flag < 40)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,8);OLED_ShowNumber(104,0,1,1,16);                                                
                                        }
                                        else if( Turn_door_flag < 60)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,5,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 80)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,4,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 100)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,3,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 120)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,2,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 140)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,1,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,11);OLED_ShowCHinese(104,0,9);
                                                g_Wait_Flag_Num[0] = g_Wait_Flag_Num[1]; g_Wait_Flag_Num[1] = g_Wait_Flag_Num[2]; g_Wait_Flag_Num[2] = 0;
                                                OLED_ShowCHinese(0,2,12);Turn_door_flag = 0;                                                               
                                        }
                                }
                                else if( g_Lift_State == 3 )
                                {
                                        PWM_SetForward_Rotation();Lift_Downlink_On();
                                }
                        }
                        else if( g_Wait_Flag_Num[0] == 23)
                        {
                                if( g_Lift_State == 1 )
                                {
                                        PWM_SetRollback_Rotation();Lift_Uplink_On();        
                                }
                                else if( g_Lift_State == 2 )
                                {
                                        PWM_SetStop_Rotation();Lift_Uplink_Off();Lift_Downlink_Off();
                                                Turn_door_flag++;
                                        if( Turn_door_flag < 20)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,8);OLED_ShowNumber(104,0,2,1,16);
                                        }
                                        else if( Turn_door_flag < 40)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,8);OLED_ShowNumber(104,0,1,1,16);                                                
                                        }
                                        else if( Turn_door_flag < 60)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,5,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 80)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,4,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 100)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,3,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 120)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,2,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 140)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,1,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,11);OLED_ShowCHinese(104,0,9);
                                                g_Wait_Flag_Num[0] = g_Wait_Flag_Num[1]; g_Wait_Flag_Num[1] = g_Wait_Flag_Num[2]; g_Wait_Flag_Num[2] = 0;
                                                OLED_ShowCHinese(0,2,13);Turn_door_flag = 0;                                                               
                                        }
                                }
                                else if( g_Lift_State == 3 )
                                {
                                        PWM_SetForward_Rotation();Lift_Downlink_On();
                                }
                        }
                        else if( g_Wait_Flag_Num[0] == 32)
                        {
                                if( g_Lift_State == 1 )
                                {
                                        PWM_SetRollback_Rotation();Lift_Uplink_On();
                                }
                                else if( g_Lift_State == 2 )
                                {
                    PWM_SetRollback_Rotation();Lift_Uplink_On();                                
                                }
                                else if( g_Lift_State == 3 )
                                {
                    PWM_SetStop_Rotation();Lift_Uplink_Off();Lift_Downlink_Off();
                                                Turn_door_flag++;
                                        if( Turn_door_flag < 20)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,8);OLED_ShowNumber(104,0,2,1,16);
                                        }
                                        else if( Turn_door_flag < 40)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,8);OLED_ShowNumber(104,0,1,1,16);                                                
                                        }
                                        else if( Turn_door_flag < 60)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,5,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 80)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,4,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 100)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,3,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 120)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,2,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else if( Turn_door_flag < 140)
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,9);OLED_ShowNumber(104,0,1,1,16);
                                                if( weight > g_weight_threshold )
                        {
                                                    while(weight > g_weight_threshold)
                                                    { Get_Weight();GPIO_SetBits(GPIOA,GPIO_Pin_1);}
                                                }else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
                                        }
                                        else
                                        {
                                                OLED_ShowChar(104,0,' ',16);OLED_ShowChar(112,0,' ',16);OLED_ShowCHinese(88,0,11);OLED_ShowCHinese(104,0,9);
                                                g_Wait_Flag_Num[0] = g_Wait_Flag_Num[1]; g_Wait_Flag_Num[1] = g_Wait_Flag_Num[2]; g_Wait_Flag_Num[2] = 0;
                                                OLED_ShowCHinese(0,2,12);Turn_door_flag = 0;                                                               
                                        }
                                }
                        }
                }

               
                Time_50ms_Flag = 0;
        }
        
        if( Time_100ms_Flag == 1)
        {               
                Get_Weight();
                OLED_ShowNumber(40,6,weight,4,16);
                OLED_ShowNumber(88,6,g_weight_threshold,4,16);        
               
        Delay_ms(2);
                                
                Time_100ms_Flag = 0;
        }
        
        if( Time_200ms_Flag == 1)
        {
                switch( g_Wait_Flag_Num[0] )
                {
                        case 12:OLED_ShowNumber(72,2,1,1,16);;break;
                        case 21:OLED_ShowNumber(72,2,2,1,16);;break;
                        case 23:OLED_ShowNumber(72,2,2,1,16);;break;
                        case 32:OLED_ShowNumber(72,2,3,1,16);;break;
                        default:OLED_ShowChar(72,2,' ',16);
                }
               
                switch( g_Wait_Flag_Num[1] )
                {
                        case 12:OLED_ShowNumber(88,2,1,1,16);;break;
                        case 21:OLED_ShowNumber(88,2,2,1,16);;break;
                        case 23:OLED_ShowNumber(88,2,2,1,16);;break;
                        case 32:OLED_ShowNumber(88,2,3,1,16);;break;
                        default:OLED_ShowChar(88,2,' ',16);
                }
               
                switch( g_Wait_Flag_Num[2] )
                {
                        case 12:OLED_ShowNumber(104,2,1,1,16);;break;
                        case 21:OLED_ShowNumber(104,2,2,1,16);;break;
                        case 23:OLED_ShowNumber(104,2,2,1,16);;break;
                        case 32:OLED_ShowNumber(104,2,3,1,16);;break;
                        default:OLED_ShowChar(104,2,' ',16);
                }               
                       
                Time_200ms_Flag = 0;               
        }
        
        if( Time_500ms_Flag == 1)
        {
                static u8 i = 0;
                i = 1-i;
//                if( Turn_door_flag != 60)
//                {
                        if( g_Move_Flag == 1 )
                        {
                                if(i){ OLED_ShowCHinese(0,2,12); }
                                else{OLED_ShowCHinese(0,2,14);}                        
                        }
                        else if( g_Move_Flag == 2 )
                        {
                                if(i){ OLED_ShowCHinese(0,2,13); }
                                else{OLED_ShowCHinese(0,2,14);}                        
                        }
                        else if( g_Move_Flag == 0 )
                        {
//                                if(i){ OLED_ShowCHinese(0,2,12); }
//                                else{OLED_ShowCHinese(0,2,14);}        
                        }
//                }
               
                Time_500ms_Flag = 0;
        }
        
        if( Time_1000ms_Flag == 1)
        {        

//                if( Time_flag == 0)
//                {
//                        PWM_SetForward_Rotation();
//                        Lift_Uplink_On();
//                        Lift_Downlink_On();
//                        Time_flag = 1;
//                }
//                else if( Time_flag == 1)
//                {
//                        PWM_SetStop_Rotation();
//                        Lift_Uplink_Off();
//                        Lift_Downlink_Off();
//                        Time_flag = 2;
//                }
//                else if( Time_flag == 2)
//                {
//                        PWM_SetRollback_Rotation();
//                        Lift_Uplink_On();
//                        Lift_Downlink_On();
//                        Time_flag = 3;
//                }
//                else if( Time_flag == 3)
//                {
//                        PWM_SetStop_Rotation();
//                        Lift_Uplink_Off();
//                        Lift_Downlink_Off();
//                        Time_flag = 0;
//                }

               
//                Buzzer_Turn();
               
                Time_1000ms_Flag = 0;
        }
}

void EXTI0_IRQHandler(void)
{
        if(EXTI_GetITStatus(EXTI_Line0) != RESET)
        {
//                Delay_ms(10);
                if( GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0)==0 )
                {
                        g_Lift_State = 3;
                }
                EXTI_ClearITPendingBit(EXTI_Line0);               
        }
}

void EXTI4_IRQHandler(void)
{
        if(EXTI_GetITStatus(EXTI_Line4) != RESET)
        {
//                Delay_ms(10);
                if( GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_4)==0 )
                {
                        g_Lift_State = 2;
                }
                EXTI_ClearITPendingBit(EXTI_Line4);               
        }
}

void EXTI9_5_IRQHandler(void)
{
        if(EXTI_GetITStatus(EXTI_Line5) != RESET)
        {
//                Delay_ms(10);
                if( GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_5)==0 )
                {
                        g_Lift_State = 1;
                }
                EXTI_ClearITPendingBit(EXTI_Line5);               
        }
        if(EXTI_GetITStatus(EXTI_Line8) != RESET)
        {
                g_Control_Threshold_State = 1;
        g_weight_threshold = g_weight_threshold - 10;
                if( g_weight_threshold < 10){ g_weight_threshold = 10;}               
                EXTI_ClearITPendingBit(EXTI_Line8);               
        }
        if(EXTI_GetITStatus(EXTI_Line9) != RESET)
        {
                g_Control_Threshold_State = 2;
        g_weight_threshold = g_weight_threshold + 10;
                if( g_weight_threshold > 3000){ g_weight_threshold = 3000;}
                EXTI_ClearITPendingBit(EXTI_Line9);               
        }
}

void EXTI15_10_IRQHandler(void)
{
        if(EXTI_GetITStatus(EXTI_Line12) != RESET)
        {
                if( g_Key_State != 12 )
                {
                        if( g_Wait_Flag_Num[0] != 32 && g_Wait_Flag_Num[0] != 23 )
                        {                        
                                        g_Key_State = 12;
                                        if( g_Wait_Flag_Num[0] == 0 )
                                        {
                                                g_Wait_Flag_Num[0] = 12;
                                        }
                                        else if( g_Wait_Flag_Num[1] == 0 )
                                        {
                                                g_Wait_Flag_Num[1] = 12;
                                        }
                                        else if( g_Wait_Flag_Num[2] == 0 )
                                        {
                                                g_Wait_Flag_Num[2] = 12;
                                        }
                        }
            }
                EXTI_ClearITPendingBit(EXTI_Line12);               
        }        
        if(EXTI_GetITStatus(EXTI_Line13) != RESET)
        {
                if( g_Key_State != 21 )
                {
                        if( g_Wait_Flag_Num[0] != 32 && g_Wait_Flag_Num[0] != 23 )
                        {                        
                                        g_Key_State = 21;
                                        if( g_Wait_Flag_Num[0] == 0 )
                                        {
                                                g_Wait_Flag_Num[0] = 21;               
                                        }
                                        else if( g_Wait_Flag_Num[1] == 0 )
                                        {
                                                g_Wait_Flag_Num[1] = 21;
                                        }
                                        else if( g_Wait_Flag_Num[2] == 0 )
                                        {
                                                g_Wait_Flag_Num[2] = 21;
                                        }
                        }
                }               
                EXTI_ClearITPendingBit(EXTI_Line13);               
        }
        if(EXTI_GetITStatus(EXTI_Line14) != RESET)
        {
                if( g_Key_State != 23 )
                {
                        g_Key_State = 23;        
                        if( g_Wait_Flag_Num[0] != 12 && g_Wait_Flag_Num[0] != 21 )
                        {
                                        if( g_Wait_Flag_Num[0] == 0 )
                                        {
                                                g_Wait_Flag_Num[0] = 23;
                                        }
                                        else if( g_Wait_Flag_Num[1] == 0 )
                                        {
                                                g_Wait_Flag_Num[1] = 23;
                                        }
                                        else if( g_Wait_Flag_Num[2] == 0 )
                                        {
                                                g_Wait_Flag_Num[2] = 23;
                                        }         
                    }                        
                }
                EXTI_ClearITPendingBit(EXTI_Line14);               
        }
        if(EXTI_GetITStatus(EXTI_Line15) != RESET)
        {
                if( g_Key_State != 32 )
                {               
                        g_Key_State = 32;
                        if( g_Wait_Flag_Num[0] != 12 && g_Wait_Flag_Num[0] != 21 )
                        {
                                        if( g_Wait_Flag_Num[0] == 0 )
                                        {
                                                g_Wait_Flag_Num[0] = 32;
                                        }
                                        else if( g_Wait_Flag_Num[1] == 0 )
                                        {
                                                g_Wait_Flag_Num[1] = 32;
                                        }
                                        else if( g_Wait_Flag_Num[2] == 0 )
                                        {
                                                g_Wait_Flag_Num[2] = 32;
                                        }
                        }
                }
                EXTI_ClearITPendingBit(EXTI_Line15);               
        }        
}

void TIM2_IRQHandler(void)
{
        if(TIM_GetITStatus(TIM2,TIM_IT_Update) == SET)
        {
                TIM_ClearITPendingBit (TIM2,TIM_IT_Update);
               
                Time_Flag++;
               
                if( Time_Flag % 1    == 0){ Time_1ms_Flag    = 1; }
                if( Time_Flag % 2    == 0){ Time_2ms_Flag    = 1; }
                if( Time_Flag % 5    == 0){ Time_5ms_Flag    = 1; }
                if( Time_Flag % 10   == 0){ Time_10ms_Flag   = 1; }
                if( Time_Flag % 20   == 0){ Time_20ms_Flag   = 1; }
                if( Time_Flag % 50   == 0){ Time_50ms_Flag   = 1; }
                if( Time_Flag % 100  == 0){ Time_100ms_Flag  = 1; }
                if( Time_Flag % 200  == 0){ Time_200ms_Flag  = 1; }
                if( Time_Flag % 500  == 0){ Time_500ms_Flag  = 1; }
                if( Time_Flag % 1000 == 0){ Time_1000ms_Flag = 1;
                                    Time_Flag = 0;        }
               
        }
}

void OLED_UI_One(void)
{
        OLED_ShowCHinese(0,0,0);
        OLED_ShowCHinese(16,0,1);
        OLED_ShowCHinese(32,0,2);
        OLED_ShowCHinese(48,0,3);
        OLED_ShowChar(64,1,':',8);
        
        OLED_ShowCHinese(32,2,6);
        OLED_ShowCHinese(48,2,7);
        OLED_ShowChar(64,3,':',8);

        OLED_ShowCHinese(0,6,4);
        OLED_ShowCHinese(16,6,5);
        OLED_ShowChar(32,7,':',8);
        
}

程序是這個樣子是哪里出現問題的呀
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久五月天 | 亚洲一区二区在线播放 | 成人精品在线视频 | 污视频免费在线观看 | 欧美日韩中文在线 | 国产一二三区电影 | 中文字幕四虎 | 国产精品不卡视频 | 日本粉嫩一区二区三区视频 | 九一视频在线播放 | 国产精品久久7777777 | 欧美精品欧美精品系列 | 国产乱码一二三区精品 | 成人免费久久 | 国产电影一区二区在线观看 | 亚洲一区国产精品 | 99av成人精品国语自产拍 | 欧美精品video | 亚洲精品视频免费 | 成人在线精品视频 | 亚洲精品一 | 成人免费看| 日韩一级精品视频在线观看 | 国产精品欧美一区二区三区不卡 | 精品一区av | 日本三级日产三级国产三级 | 国产电影一区二区在线观看 | www.youjizz.com日韩 | 国产精品美女久久久久久不卡 | 天天操,夜夜爽 | 天天拍天天射 | 男女爱爱网站 | 国产视频三区 | 日韩视频在线一区 | 91精品久久久久久久久99蜜臂 | 亚洲精品乱码久久久久久蜜桃 | 一区二区高清在线观看 | 新疆少妇videos高潮 | 日韩 欧美 二区 | 成人在线视频免费观看 | 美日韩精品 |