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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1784|回復: 6
收起左側

單片機C語言 不需運行的部分代碼影響其它位置代碼,求分析

[復制鏈接]
ID:734017 發表于 2022-2-24 00:33 | 顯示全部樓層 |閱讀模式
switch(buffer[1])                                                                 
                {        
                                        case 0X79:
                                       
                                                if(        buffer[3]==0xA1)                //選擇左邊                                
                                                {                                
                                                        memset(buffer, 0, 16); //清空緩存區
                                                        Send_Array_uart2(Powerout2,7);
                                                        
                                                 break;
                                                }
                                                
                                                                                                        //選擇右邊
                                                if(        buffer[3]==0xA2)                                                
                                                {                                
                                                        memset(buffer, 0, 16); //清空緩存區
                                                        Send_Array_uart2(Powerout,7);
                                                        
                                                 break;
                                                }
                                                if(        buffer[3]==0xA3)                                                
                                                {                                
                                                        memset(buffer, 0, 16); //清空緩存區
                                                        if(!RSM_lock&!MIC_lock)                                                //啟動不切換
                                                        {
                                                        Send_Array_uart2(Powerout2,7);
                                                                //facecare_time_min=facecare_time_min_tmp;   //默認時間
                                                                //facecare_time_sec=facecare_time_sec_tmp;
                                                                //Delay200ms();
                                                                //Time_TXD(facecare_time_min,10,0x05,Display_time_coordinates[0]);
                                                                //Send_Out_uart2();
                                                                //Time_TXD(facecare_time_min,1,0x05,Display_time_coordinates[1]);
                                                                //Send_Out_uart2();        
                                                        }
                                                 break;
                                                }
                                                if(        buffer[3]==0xA4)                                                
                                                {                                
                                                        memset(buffer, 0, 16); //清空緩存區
                                                        if(!UL_INO_CLOK_lock)                                                        //啟動不切換
                                                        {
                                                                Send_Array_uart2(Powerout,7);
                                                                //facecare_time_min=facecare_time_min_tmp;   //默認時間
                                                                //facecare_time_sec=facecare_time_sec_tmp;
                                                                //Delay200ms();
                                                                //Time_TXD(facecare_time_min,10,0x05,Display_time_coordinates[0]);
                                                                //Send_Out_uart2();
                                                                //Time_TXD(facecare_time_min,1,0x05,Display_time_coordinates[1]);
                                                        //        Send_Out_uart2();
                                                        }
                                                 break;
                                                }
                                                
                                                //**********我是分割**********
                                                if(        buffer[3]==0xB1)                                                
                                                {                                
                                                        memset(buffer, 0, 16); //清空緩存區
                                                        if(key_lock_B1)
                                                {
                                                        key_lock_B1 =0;
                                                                if(RSM_lock&&Cache_flag)        //啟動噴
                                                                {               
                                                                        RSM_lock=~RSM_lock;        
                                                                        Send_number=2;
                                                                        Cache_flag=0;
                                                                }
                                                                else if(Cache_flag)
                                                                {        
                                                                        RSM_lock=~RSM_lock;        
                                                                        Send_number=1;
                                                                        Cache_flag=0;
                                                                }                                
                                                        }
                                                break;
                                                }
                                
                                                if(        buffer[3]==0xB2)                                                
                                                {                                
                                                        memset(buffer, 0, 16); //清空緩存區
                                                        if(key_lock_B2)
                                                {
                                                        key_lock_B2 =0;
                                                                if(MIC_lock&&Cache_flag)                //啟動吸
                                                                {        
                                                                        MIC_lock=~MIC_lock;
                                                                        Send_number=4;
                                                                        Cache_flag=0;
                                                                }
                                                                else if(Cache_flag)
                                                                {        
                                                                        MIC_lock=~MIC_lock;
                                                                        Send_number=3;
                                                                        Cache_flag=0;
                                                                }                                
                                                        }
                                                break;
                                                }
                                
                                                if(        buffer[3]==0xB3)                                                
                                                {                                
                                                        memset(buffer, 0, 16); //清空緩存區
                                                        if(key_lock_B3)
                                                {
                                                        key_lock_B3 =0;
                                                                if(UL_INO_CLOK_lock&&Cache_flag)                //啟動三功能
                                                                {        
                                                                        UL_INO_CLOK_lock=~UL_INO_CLOK_lock;
                                                                        Send_number=6;
                                                                        Cache_flag=0;
                                                                }
                                                                else if(Cache_flag)
                                                                {        
                                                                        UL_INO_CLOK_lock=~UL_INO_CLOK_lock;
                                                                        Send_number=5;
                                                                        Cache_flag=0;
                                                                }                                
                                                        }
                                                break;
                                                }
                                
                                break;                 
               
//==========================================================================================                        
                case 0X78:
                      {
                        uchar i=0;
                                for(i=0;i<16;i++)
                                {
                                        buffer[ i]=0;
                                }
                                
                                        key_lock_B1                =1;
                                        key_lock_B2                =1;
                                        key_lock_B3                =1;
                        }
                                
                                break;  
                                        default:break;
                }        



串口接收判斷   紅色部分代碼不進入運行,但會影響藍色部分代碼,屏蔽掉就沒問題。

回復

使用道具 舉報

ID:584814 發表于 2022-2-24 07:58 | 顯示全部樓層
單片機C語言代碼 樓主確定這個東東不是程序 ?
回復

使用道具 舉報

ID:734017 發表于 2022-2-24 08:17 | 顯示全部樓層
man1234567 發表于 2022-2-24 07:58
單片機C語言代碼 樓主確定這個東東不是程序 ?

打錯了,我的意思是 紅色部分代碼 不需運行,但加上就會影響藍色部分
回復

使用道具 舉報

ID:301191 發表于 2022-2-24 16:37 | 顯示全部樓層
頂一下
回復

使用道具 舉報

ID:824490 發表于 2022-2-24 16:49 | 顯示全部樓層
應該是邏輯問題,望高手來指點一下:
switch(x)
{
case x
{
  if (xxx)
  {
   x;
   xx;
   xxx;
  break; //<--此處的break,是跳出當前的if(){}?還是跳出當前的case{}??
  }





回復

使用道具 舉報

ID:734017 發表于 2022-2-24 17:50 | 顯示全部樓層
名字不是重點 發表于 2022-2-24 16:49
應該是邏輯問題,望高手來指點一下:
switch(x)
{

if(x)
{
switch(x)

case x : break;case x : break;
case x : break;
case x : break;

}
else()

這樣子會好一點吧;
回復

使用道具 舉報

ID:734017 發表于 2022-2-24 18:36 | 顯示全部樓層
void key_service2()                                        //主菜單選擇                                                
{
        if(key_service_lock2)
        {
        key_service_lock2=0;               
                if(buffer[1]==0x79)         
                {        
                switch(buffer[3])                                                                 
                {        
                                        case 0xA1:
                                                                                memset(buffer, 0, 16); //清空緩存區
                                                                                Send_Array_uart2(Powerout2,7);
                                                                                
                                                        break;
                                       
                                        case 0xA2:                                                        //選擇右邊               
                                                                                memset(buffer, 0, 16); //清空緩存區
                                                                                Send_Array_uart2(Powerout,7);
                                                                                
                                                        break;
                                       
                                        case 0xA3:
                                                                                memset(buffer, 0, 16); //清空緩存區
                                                                                if(!RSM_lock&!MIC_lock)                                                //啟動不切換
                                                                                {
                                                                                        Send_Array_uart2(Powerout2,7);
                                                                                        facecare_time_min=facecare_time_min_tmp;   //默認時間
                                                                                        facecare_time_sec=facecare_time_sec_tmp;
                                                                                Time_TXD(facecare_time_min,10,0x05,Display_time_coordinates[0]);
                                                                                Send_Out_uart2();
                                                                                Time_TXD(facecare_time_min,1,0x05,Display_time_coordinates[1]);
                                                                                Send_Out_uart2();        
                                                                                }
                                                 break;
                                                                                
                                                case 0xA4:
                                                                                memset(buffer, 0, 16); //清空緩存區
                                                                                if(!UL_INO_CLOK_lock)                                                        //啟動不切換
                                                                                {
                                                                                        Send_Array_uart2(Powerout,7);
                                                                                        facecare_time_min=facecare_time_min_tmp;   //默認時間
                                                                                        facecare_time_sec=facecare_time_sec_tmp;
                                                                                        Delay200ms();
                                                                                Time_TXD(facecare_time_min,10,0x05,Display_time_coordinates[0]);
                                                                                Send_Out_uart2();
                                                                                Time_TXD(facecare_time_min,1,0x05,Display_time_coordinates[1]);
                                                                                Send_Out_uart2();
                                                                                }
                                                 break;
                                                                                
                                                case 0xB3:
                                                                                memset(buffer, 0, 16); //清空緩存區
                                                                                if(key_lock_B3)
                                                                        {
                                                                                key_lock_B3 =0;
                                                                                        if(UL_INO_CLOK_lock&&Cache_flag)                //啟動三功能
                                                                                        {        
                                                                                                UL_INO_CLOK_lock=~UL_INO_CLOK_lock;
                                                                                                Send_number=6;
                                                                                                Cache_flag=0;
                                                                                        }
                                                                                        else if(Cache_flag)
                                                                                        {        
                                                                                                UL_INO_CLOK_lock=~UL_INO_CLOK_lock;
                                                                                                Send_number=5;
                                                                                                Cache_flag=0;
                                                                                        }                                
                                                                                }
                                                        break;
                                                                default:break;
                                                }
                                        }               
//==========================================================================================                        
                else if(buffer[1]== 0X78)
                {
                        uchar i=0;
                                for(i=0;i<16;i++)
                                {
                                        buffer[ i]=0;
                                }
                                
                                       
                                        key_lock_B3                =1;
                                
                        }
                }        
        }
        我已經重新改了,情況依舊,只要紅色部分在,藍色就不正不常。紅色部分不運行,藍色都不正常,現在知道是Time_TXD()問題,為什么沒有不運行這段會影響其它。剛開始點擊的那兩下串口數據也正常,也有通信。測了數據也沒錯。說不清楚,請看視頻


視頻.7z

8.7 MB, 下載次數: 2

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 毛片.com | 欧美在线观看一区二区 | 91国内外精品自在线播放 | 久久精品中文 | 成人欧美一区二区三区在线播放 | 久久久久国产一区二区 | 欧美一区二区三区视频 | 国产精品一区一区三区 | 韩日精品一区 | 麻豆一区二区三区 | 国产一区二区在线视频 | 国产美女黄色片 | www.久| 久久久久久久一区 | 亚洲三区在线播放 | 国产精品久久久久久久粉嫩 | 国久久 | 夜夜久久 | 亚洲天堂中文字幕 | sese视频在线观看 | 日韩超碰| 日本在线观看网址 | 欧美精产国品一二三区 | 免费久久精品视频 | 麻豆精品一区二区三区在线观看 | 中文字幕一区在线观看视频 | 欧美精品在线观看 | 成人性生交大片 | 国产欧美精品一区二区色综合朱莉 | www.久久久久久久久 | 99久久精品一区二区成人 | 日日夜夜免费精品 | 少妇一级淫片免费放播放 | 久久国产精品72免费观看 | 亚洲福利在线观看 | 亚洲国产中文在线 | 久草新在线 | 天天操夜夜操 | 国产美女自拍视频 | 精品国产乱码久久久久久久久 | 成人性生交大片免费看中文带字幕 |