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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2503|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)與GPRS模塊串口通信不穩(wěn)定,如何解決

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:247342 發(fā)表于 2019-11-26 07:53 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
在單片機(jī)與GPRS模塊通信中,出現(xiàn)串口通信不穩(wěn)定的問題,有時(shí)候指令發(fā)不出去,一直找不到原因,會(huì)不會(huì)是定時(shí)器中斷的影響,請(qǐng)大神指教
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:648281 發(fā)表于 2019-11-26 10:40 | 只看該作者
沒有程序,沒有原理圖,不好分析
回復(fù)

使用道具 舉報(bào)

板凳
ID:546770 發(fā)表于 2019-11-26 11:31 | 只看該作者
會(huì)不會(huì)是你發(fā)送的頻率太快了?????
回復(fù)

使用道具 舉報(bào)

地板
ID:247342 發(fā)表于 2019-11-26 22:08 | 只看該作者
if(sim_ready_flag==1&&csq_test_end_falg==0)  //判斷SIM卡是否準(zhǔn)備就緒,信號(hào)檢測(cè)結(jié)束標(biāo)識(shí)是否是0
                         {
                                 if(csq_send_flag==0&&csq_send_frequ!=0)  //判斷指令發(fā)送標(biāo)識(shí)及發(fā)送次數(shù)
                                         {
                                                 send_string(csq);   //發(fā)送網(wǎng)絡(luò)信號(hào)檢測(cè)指令
                                                 csq_send_frequ--;
                                                 csq_send_flag=1;
                                                 wait_2s=2;
                                                 timing_2s_end_flag=0;                                                                                 
                                                 }
                                        if(csq_send_flag==1&&timing_2s_end_flag==1)  //判斷指令是否發(fā)出及計(jì)時(shí)是否結(jié)束
                                                {
                                                 if(strstr(Rec_buf,"OK")!=NULL)    //判斷返回?cái)?shù)據(jù)中是否包含‘OK’字符串
                                                        {
                                                                if(Rec_buf[8]=='9'&&Rec_buf[9]=='9')  //判斷檢測(cè)的信號(hào)強(qiáng)度是否是99
                                                                  {
                                                                    if(csq_send_frequ==0)    //判斷發(fā)送是否結(jié)束
                                                                                        {
                                                                                                 csq_test_flag=0;    //信號(hào)測(cè)試標(biāo)識(shí)值0
                                                                                                 net_connect_flag=0;   //關(guān)閉網(wǎng)絡(luò)連接
                                                                                                        }
                                                                    }
                                                                else
                                                                  {
                                                                     csq_test_flag=1;   //信號(hào)測(cè)試標(biāo)識(shí)值1
                                                                                 csq_send_frequ=0;
                                                                    }                                                               
                                                                csq_send_flag=0;                                                                                
                                                                sig_strength_num[0]=Rec_buf[8];  //提取信號(hào)強(qiáng)度值
                                                                sig_strength_num[1]=Rec_buf[9];               
                                                                Clr_Rec_buf();
                                                                }
                                                 else   //如果返回?cái)?shù)據(jù)中不包含‘OK’字符串,則檢測(cè)失敗
                                                         {
                                                                 csq_send_flag=0;
                                                                 if(csq_send_frequ==0)  //判斷發(fā)送是否結(jié)束
                                                                  {
                                                                         csq_test_flag=0;   //信號(hào)測(cè)試標(biāo)識(shí)值0
                                                                   net_connect_flag=0;   //關(guān)閉網(wǎng)絡(luò)連接
                                                                         gprs_p=0;
                                                                    }
                                                                  Clr_Rec_buf();
                                                                 }
                                                 if(csq_send_frequ==0)          //判斷發(fā)送是否結(jié)束
                                                         {                                                
                                                                csq_test_end_falg=1;   //信號(hào)檢測(cè)結(jié)束標(biāo)識(shí)值1
                                                                sim_ready_flag=0;        
                                                                 }
                                                 }                                       
                                }
                        
/************檢測(cè)網(wǎng)絡(luò)注冊(cè)狀態(tài)************/
                        if(csq_test_flag==1&&creg_test_end_flag==0)   //判斷信號(hào)檢測(cè)是否成功,網(wǎng)絡(luò)狀態(tài)測(cè)試結(jié)束標(biāo)識(shí)是否為0
                                {
                                        if(creg_send_flag==0&&creg_send_frequ!=0)  //判斷指令是否發(fā)出及發(fā)送次數(shù)
                                         {
                                                 send_string(creg);   //發(fā)送網(wǎng)絡(luò)注冊(cè)狀態(tài)指令
                                                 creg_send_frequ--;
                                                 creg_send_flag=1;
                                                 wait_2s=2;
                                                 timing_2s_end_flag=0;
                                                
                                                 }
                                         if(creg_send_flag==1&&timing_2s_end_flag==1)  //判斷指令是否發(fā)出及計(jì)時(shí)是否結(jié)束
                                                {
                                                 if(strstr(Rec_buf,"OK")!=NULL&&(Rec_buf[11]=='1'||Rec_buf[11]=='5'))  //判斷返回字符串是否包含‘OK’,網(wǎng)絡(luò)注冊(cè)狀態(tài)是‘1’或‘5’
                                                        {
                                                                creg_succ_flag=1;   //注冊(cè)成功標(biāo)識(shí)值1
                                                                creg_send_frequ=0;  //發(fā)送次數(shù)值0
                                                                creg_send_flag=0;
                                                                Clr_Rec_buf();
                                                                }
                                                 else
                                                         {
                                                                 creg_send_flag=0;   
                                                                 if(creg_send_frequ==0)  //判斷發(fā)送是否結(jié)束
                                                                        {
                                                                         creg_succ_flag=0;   //注冊(cè)成功標(biāo)識(shí)值0
                                                                         net_connect_flag=0;  //關(guān)閉連接
                                                                         gprs_p=0;
                                                                                }
                                                                 Clr_Rec_buf();
                                                                 }
                                                         if(creg_send_frequ==0)   //判斷發(fā)送是否結(jié)束
                                                         {
                                                          creg_test_end_flag=1;          //網(wǎng)絡(luò)注冊(cè)狀態(tài)測(cè)試結(jié)束標(biāo)識(shí)值1
                                                          //csq_test_flag=0;
                                                           }
                                                        }                                                                                
                                        }
                                
/************GPRS附著狀態(tài)************/               
                 if(creg_succ_flag==1&&cgatt_test_end_falg==0)  //判斷網(wǎng)絡(luò)注冊(cè)是否成功,GPRS附著狀態(tài)檢測(cè)結(jié)束標(biāo)識(shí)是否為0
                         {
                                 if(cgatt_send_flag==0&&cgatt_send_frequ!=0)  //判斷指令是否發(fā)送及發(fā)送次數(shù)
                                         {
                                                 //Clr_Rec_buf();
                                                 send_string(cgatt);   //發(fā)送測(cè)試指令
                                                  cgatt_send_frequ--;
                                                 cgatt_send_flag=1;
                                                 wait_2s=4;
                                                 timing_2s_end_flag=0;
                                                
                                                 }
                                        if(cgatt_send_flag==1&&timing_2s_end_flag==1)  //判斷指令是否發(fā)出及計(jì)時(shí)是否結(jié)束
                                                {
                                                 if(strstr(Rec_buf,"OK")!=NULL&&Rec_buf[10]=='1')
                                                        {
                                                                cgatt_test_flag=1;  //GPRS附著檢測(cè)標(biāo)識(shí)值1
                                                                cgatt_send_frequ=0;  //發(fā)送次數(shù)值0
                                                                cgatt_send_flag=0;
                                                                Clr_Rec_buf();
                                                                }
                                                 else
                                                         {
                                                                 cgatt_send_flag=0;
                                                                 if(cgatt_send_frequ==0)  //判斷發(fā)送是否結(jié)束
                                                                  {
                                                                         cgatt_test_flag=0;  //GPRS附著檢測(cè)標(biāo)識(shí)值0
                                                                   net_connect_flag=0;  //關(guān)閉網(wǎng)絡(luò)連接
                                                                         gprs_p=0;
                                                                    }
                                                                 Clr_Rec_buf();
                                                                 }
                                           if(cgatt_send_frequ==0)
                                                   {
                                                                        creg_succ_flag=0;
                                                                        cgatt_test_end_falg=1;         //GPRS附著檢測(cè)結(jié)束標(biāo)識(shí)值1
                                                      }
                                                        }
                                        }        
                        
/************設(shè)置APN************/                        
                 if(cgatt_test_flag==1&&cstt_set_end_falg==0)   //判斷GPRS附著檢測(cè)標(biāo)識(shí)值
                         {
                                 if(cstt_send_flag==0&&cstt_send_frequ!=0)  //判斷指令是否發(fā)送及發(fā)送次數(shù)
                                         {
                                                 send_string(cstt);  //發(fā)送設(shè)置APN指令
                                                 cstt_send_frequ--;
                                                 cstt_send_flag=1;
                                                 wait_2s=3;
                                                 timing_2s_end_flag=0;
                                                 ;
                                                 }
                                        if(cstt_send_flag==1&&timing_2s_end_flag==1)  //判斷指令是否發(fā)送及計(jì)時(shí)是否結(jié)束
                                                {
                                                 if(strstr(Rec_buf,"OK")!=NULL)  //判斷返回字符串是否包含“OK”
                                                        {
                                                                cstt_set_flag=1;  //APN設(shè)置標(biāo)識(shí)值1
                                                                cstt_send_frequ=0;
                                                                cstt_send_flag=0;
                                                                Clr_Rec_buf();
                                                                }
                                                        else
                                                         {
                                                                 cstt_send_flag=0;
                                                                 if(cstt_send_frequ==0)  //判斷發(fā)送是否結(jié)束
                                                                  {
                                                                         cstt_set_flag=0;  //APN設(shè)置標(biāo)識(shí)值0
                                                                   net_connect_flag=0;
                                                                         gprs_p=0;        
                                                                    }
                                                                 Clr_Rec_buf();
                                                                 }
                                                        if(cstt_send_frequ==0)        
                                                          {
                                                                         cgatt_test_flag=0;  //GPRS附著檢測(cè)標(biāo)識(shí)值0
                                                                         cstt_set_end_falg=1;         
                                                             }
                                                        }
                                        }        
                        
/*****建立無(wú)線鏈路(GPRS或者CSD)*****/               
                        if(cstt_set_flag==1&&ciicr_set_end_falg==0)  //判斷APN設(shè)置狀態(tài)標(biāo)識(shí)
                         {
                                 if(ciicr_send_flag==0&&ciicr_send_frequ!=0)  //判斷指令是否發(fā)送及發(fā)送次數(shù)
                                         {
                                                 send_string(ciicr);  //發(fā)送建立無(wú)線鏈路指令
                                                
                                                 ciicr_send_frequ--;
                                                 ciicr_send_flag=1;
                                                 wait_2s=3;
                                                 t_1s=0;
                                                 timing_2s_end_flag=0;
                                                
                                                 }
                                        if(ciicr_send_flag==1&&timing_2s_end_flag==1)  //判斷指令是否發(fā)送及計(jì)時(shí)是否結(jié)束
                                                {
                                                 if(strstr(Rec_buf,"OK")!=NULL)
                                                        {
                                                                ciicr_set_flag=1;  //無(wú)線鏈路設(shè)置標(biāo)識(shí)值1
                                                                ciicr_send_frequ=0;
                                                                cstt_set_flag=0;    //APN設(shè)置狀態(tài)標(biāo)識(shí)值0
                                                                ciicr_set_end_falg=1;
                                                                ciicr_send_flag=0;
                                                                for(i=0;i<24;i++)
                                                                   str2[i]=Rec_buf[i];
                                                                Clr_Rec_buf();
                                                                }
                                                        else
                                                         {
                                                                 n++;        
                                                                 if(n<4)
                                                                  {
                                                                          wait_2s=3;
                                                                                t_1s=0;
                                                                                timing_2s_end_flag=0;
                                                                                 }                                         
                                                                 if(n==4)  //判斷發(fā)送是否結(jié)束
                                                                  {                 
                                                                  
                                                                         ciicr_send_flag=0;
                                                                         //Clr_Rec_buf();
                                                                         n=0;
                                                                    }        

                                                                        if(ciicr_send_frequ==0)
                                                                          {
                                                                            ciicr_set_flag=0;   //無(wú)線鏈路設(shè)置標(biāo)識(shí)值0
                                                                                        cstt_set_flag=0;    //APN設(shè)置狀態(tài)標(biāo)識(shí)值0
                                                                            ciicr_set_end_falg=1;        
                                                                                         net_connect_flag=0;  //關(guān)閉網(wǎng)絡(luò)連接
                                                                                        gprs_p=0;
                                                                            }                                                                                
                                                                        for(i=0;i<24;i++)
                                                                     str2[i]=Rec_buf[i];
                  Clr_Rec_buf();                                                                        
                                                                 }                                                                                                                 
                                                        }
                                        }      

ciicr這條指令就是發(fā)不出去,其他的都正常
回復(fù)

使用道具 舉報(bào)

5#
ID:546770 發(fā)表于 2019-11-27 09:09 | 只看該作者
我室友之前也調(diào)過一個(gè)GPRS的模塊,也是很不穩(wěn)定,一方面是那個(gè)模塊是個(gè)便宜貨,60一個(gè),其次是舍內(nèi)信號(hào)不好,天線都是那衣叉頂出窗戶外面去的,如果你這個(gè)一直無(wú)法發(fā)送的話,可以把你程序里面寫一個(gè)串口發(fā)送的字符串神馬的,用串口助手看看進(jìn)到這個(gè)if里面沒有,程序沒問題再找找硬件的問題,要對(duì)照在使用手冊(cè),放平心態(tài)一步一步地檢查;
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美美女二区 | 伊人手机在线视频 | 日韩av一区二区在线观看 | 亚洲一区二区精品 | 免费观看一级毛片视频 | 奇米四色影视 | 一区二区三区欧美 | 国产精品久久一区二区三区 | 国产伦精品一区二区三毛 | www.欧美.com| 在线视频国产一区 | 久久看精品 | 成人免费视频 | 精品国产乱码久久久久久蜜柚 | 国产精品不卡一区二区三区 | 国产欧美一区二区三区久久人妖 | 一区二区中文字幕 | 国产精品日产欧美久久久久 | 1级毛片| 国产乱码高清区二区三区在线 | 欧美精品一区在线 | 国产成人艳妇aa视频在线 | 影音先锋成人资源 | 噜久寡妇噜噜久久寡妇 | 国产免费一区二区 | 久草.com | 精品欧美一区二区在线观看欧美熟 | 国产成人福利视频 | 国产一区二区久久 | 国产精品视频网站 | 久久成人18免费网站 | 国产精品视频一二三 | 日本精品一区二区三区在线观看视频 | 国产精品久久久久久久久久久新郎 | 视频在线观看一区 | 黄色免费av | 精品91| 在线免费观看毛片 | 日韩专区中文字幕 | 日韩精品一区二区三区四区视频 | 成人午夜精品 |