娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年05月05日(星期一)

2018年05月05日 | SIM900A GPRS調試筆記

發布者:bianzitong521 來源: eefocus關鍵字:SIM900A  GPRS調試 手機看文章 掃描二維碼
隨時隨地手機看文章

/************************* ********GPRS調試筆記********************************

調試目的:通過SPCE061A單片機控制SIM900A GPRS模塊發送短信

調試過程:

         1.利用延時來發送PDU格式的短信(不接受GPRS的返回值)

         a.發送AT+CMGF=0\r\n指令

         b.延時2s,確定GPRS對a步驟中發送的指令已經接受。ps:延時的時長可做適當調整,但是一定要保證在這段時間里,GPRS已經接受AT

           指令,并作出回應,否則會導致發送短信失敗。筆者親測過,延時時間太短的話,真的無法發送短信,當時沒有注意到這一點,調試

           了好久,才發現這個問題。

         c.發送AT+CMGS=21\r\n指令,21為你要發送的字符長度,這里我就不介紹,SIM900A說明書上講的很詳細

         d.延時2s,這里的原理和b中所說的幾乎一樣,不再追述

         e.發送pdu格式的編碼,這里需要設置一些參數,比如短信中心號碼,接受號碼等等,這里我也不細述了,畢竟使用說明書上寫得很清

            楚了,我發送的是“0891683108701305F011000D86688193909435F70008A7064F60597DFF01”,引號內以字符的形式發送就行,

            這一串字符里,包含了一些參數的設置,還有發送短信的內容,讀者在實際操作時,可將參數的設置和內容分開發送,筆者為了

            簡單處理,就統一處理了。

         f.最后一步了,發送結束符--0x1a,直接發送0x1a,主要這里不要發送成字符了,是16進制0x1a;到此為至,短信已經成功發送了,

         短信的內容是“你好!”;

 

 

 

         2.通過判斷GPRS的返回值來發送短信

         a.發送AT+CMGF=0\r\n指令

         b.

         這里是重點,記得當時卡這里卡了好長時間,幾乎到了要放棄的邊緣!!!這里重點分析一下吧    

         while(strcmp(rec_string1,"AT+CMGF=0\r\n\r\nOK")!=0)

         {       

                   *P_Watchdog_Clear= 0x0001;

         }

         等待接受返回值,并且利用字符串比較函數比較接受到的字符串rec_string1和正確的返回值AT+CMGF=0\r\n\r\nOK對比;

         這里用到的IRQ7串口中斷來接受,利用全局變量str_string1[30]和全局n模擬一個棧來緩存接收到的返回值。需要強調說明的是

         ,發送完AT+CMGF=0\r\n這條指令后gprs的返回值應該是“AT+CMGF=0\r\n\r\nOK”,也就是返回了發送過去的AT指令加上回車換行

         加上OK,但是資料上說的卻是"OK",簡直差點把筆者坑死,經過筆者不懈地努力調試,終于發現了這里的問題。

        

         c.能到這一步,說明之前的返回值已經收到了,但是細心的讀者可能就會發現,發送“AT+CMGS=21\r\n”這條指令的前面有這兩行

           簡單的代碼         delay();n = 0; 一行是延時,一行是清空棧底,清空棧底這里我就不過多的解釋了,很簡單。有的讀者會問,

         delay()函數是干什么的呢?不是不利用延時來發送短息嗎?這里問題有點復雜,筆者自己也沒弄得很清楚,但是當去掉delay()

         或將delay()和n=0;兩行代碼互換位置后,程序就會死卡,并且,你調試時就會發現n并不是等于0的,rec_string1字符串里面存的

         并不是GPRS本次返回值,而是有一部分是上次的,也就是說n=0這句并沒有起到清空棧底的作用,但是,這程序已經運行到

         send_string(cmd2);

         while(strcmp(rec_string1,"AT+CMGS=21\r\n\r\n>")!=0)

         {       

                   *P_Watchdog_Clear= 0x0001;

         }這里了啊?當時筆者也很疑惑,不能理解,感覺完全顛覆了我的認知(曾一度懷疑是61板的問題),但是后來仔細思考了一番

         ,發現很有可能是IRQ7中斷的原因,導致n=0,這句執行失敗,n=0這句c語言代碼經編譯器轉換成匯編代碼后,有好幾句,也就是說

         n=0這句C代碼并不是cpu執行指令時的最小原子值,因此在執行這句代碼時,很有可能被IRQ7中斷給打斷,導致這種結果。于是,

         筆者在清空棧底時,用了delay()函數,延時確保不會發生中斷,保護n=0這行代碼。結果證明,我的猜想是正確的。

         d.剩下的就沒有什么要注意的了,和方法1里面幾乎一樣,筆者就不啰嗦了。

         如有錯誤,希望各位大神能及時指出,互相學習!

這里附上源代碼一份,希望對你有幫助!

http://download.csdn.net/detail/qq_24478297/8936803


關鍵字:SIM900A  GPRS調試 引用地址:SIM900A GPRS調試筆記

上一篇:個人總結之MSP430F5510串口通訊(485)
下一篇:基于MSP430F5438A的ESP8266模塊STA模式程序調試成功

推薦閱讀

主營家電的格力電器由于有著業內較好的經營業績,以及較高的分紅比例,受到股民的追捧。但是近期格力股份卻一度出現盤中股價險些跌停,最終受挫8.97%的現象,市值一天內蒸發超270億元,甚至超過了去年全年的利潤。主營家電的格力電器由于有著業內較好的經營業績,以及較高的分紅比例,受到股民的追捧。但是近期格力股份卻一度出現盤中股價險些跌停,最終受...
前言在工程應用中,很多時間為了方便走線會采用單線串口方案,本節將學習stm32 usart單線串口的使用,學會用使用單線串口收發數據。示例詳解基于硬件平臺: STM32F10C8T6最小系統板, MCU 的型號是 STM32F103c8t6, 使用stm32cubemx 工具自動產生的配置工程,使用KEIL5編譯代碼。本示例所用的最小系統板原理圖:從本節開始,關于CUBEMX工具及KEIL工...
斯坦福大學的工程師們展示了一種新方法,可以將電力無線傳輸到多個設備上。他們開發的無線電力傳輸系統可以在電動汽車、機器人和無人機移動時向它們發送電力。該團隊表示,該技術需要擴大規模,以便能夠在電動汽車高速公路上行駛時為其供電,或者在工廠地面上為機器人供電。 無線電力傳輸也有可能在無人機在天空中飛行時向無人機傳輸電力。斯坦福大學...
物聯網智庫 整理發布轉載請注明來源和出處導 ?讀科幻照進了現實,無人車配送即將迎來春天。近日,一則美團無人配送車被路人“嚇停”的視頻廣泛流傳于網絡上,引起了網友們熱議。視頻中,網友偶遇到一輛為“生活奔走”美團無人配送車,出于好奇,網友熱情的向無人配送車問好,不料卻嚇了其一跳,在一聲刺耳的摩擦聲后,無人配送車緊急駐車,不再向前。評...

史海拾趣

問答坊 | AI 解惑

艾米電子FPGA入門系列實驗教程

目前市場銷售FPGA開發板的廠商很多,但大多只提供些簡單的代碼,沒有詳盡的文檔和教程提供給初學者。經驗表明,很多學生在學習FPGA設計技術的過程中,雖然剛開始學習熱情很高,但真正堅持下來一直到“學會”的卻寥寥無幾,除了學生個人毅力的因素外 ...…

查看全部問答∨

DF100A型短波發射機諧波濾波器的工作原理

DF100A型短波發射機的諧波濾波器是發射機的重要組成部分.對DF100A型短波發射機射頻電路的組成作了簡單介紹,重點討論了發射機諧波濾波器的功能、作用及工作原理.…

查看全部問答∨

cetk中的tux.exe存放在那個目錄

我剛剛接觸cetk,其中有提到tux.exe的使用,但我找了很有也沒有找到。敢問各位大俠,cetk中的tux.exe存放在那個目錄阿,希望不要見笑,萬分感激!…

查看全部問答∨

外企急聘Software Engineer, Sales Manager!!!

簡歷發給xiaoyu.wei@availink.com Job Title: Software Application Engineer    Location:                        Beijing, China        Respo ...…

查看全部問答∨

UCOS 中的任務切換問題

UCOS任務切換用的是匯編代碼,看不太懂 #define  uCOS                 0x80                   &nbs ...…

查看全部問答∨

新手求助

今天裝了IAR for MSP430 V4.20.1的,但在調試時中斷不了,是怎么回事?網上說的C-SPY哪里有下載?…

查看全部問答∨

電感啊……電感……你怎么老是叫呢~~

我以前做開關電源的時候遇到過電流大于1A時電感嘯叫的問題,請教別人說是因為電感的功率不夠,帶負載能力不行,后來我發現時主回路導線過細引起的,換上粗一點的導線就可以了!!!現在在做一個高功率因數電源,用UCC28019這款芯片,電流大的時候又 ...…

查看全部問答∨

限流型過流保護電路問題 塊瘋了 救我啊

誰能告訴我 為什么開始u0不變 最后變成零了…

查看全部問答∨

LED光源在溫室補光中的應用

 “萬物生長靠太陽”,光照是作物進行光合作用的必備要素之一,光照條件的好壞直接影響到作物的產量和品質。在自然界中,太陽的光照度會隨地理緯度、季節和天氣狀況的不同而變化。溫室內的光照除與上述因素有關外,還與溫室結構、管理措施及材料的 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 三穗县| 安国市| 衡山县| 云梦县| 梅河口市| 潼关县| 丽水市| 金川县| 古交市| 通城县| 天门市| 从化市| 蓝田县| 和平区| 阜平县| 新闻| 伊金霍洛旗| 道孚县| 姚安县| 西吉县| 新建县| 孙吴县| 大余县| 诸暨市| 上饶市| 西青区| 林芝县| 贵港市| 谷城县| 涡阳县| 江源县| 金平| 台江县| 梅州市| 中牟县| 闽侯县| 司法| 霍城县| 扎囊县| 井研县| 湖南省|