<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > STM32 MSN&Dial實(shí)驗(yàn)分析及原理

          STM32 MSN&Dial實(shí)驗(yàn)分析及原理

          作者: 時(shí)間:2009-07-30 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/166918.htm

          一.內(nèi)容
          基于stm32平臺(tái)控制模塊撥打電話,取消撥打電話以及發(fā)送短信。
          按下WKUP鍵撥打電話,按下Tamper鍵則取消撥打,按下SEL鍵就以短信形式發(fā)送一串英文字符到。

          二.流程


          三.結(jié)果
          按下WKUP鍵,撥通;按下Tamper鍵截?cái)嗤ㄔ挘话聪耂EL鍵往手機(jī)發(fā)送短信。

          四.實(shí)現(xiàn)
          4.1撥打電話命令為atd+電話號碼+分號+回車,只要通過串口往手機(jī)模塊發(fā)送這一串命令就可以實(shí)現(xiàn)撥打電話

          功能。
          4.2截止撥號命令為ath+回車,理解方式是at+hold(舉起或停下來),同樣,撥打的相對應(yīng)at指令為atd可以理

          解為at+dial(撥打)
          4.3發(fā)送短信的命令相比撥打電話和截止撥號有點(diǎn)復(fù)雜,具體分為三步。第一步設(shè)置短信消息的格式,第二步

          設(shè)置接收短信的手機(jī)號碼,第三步就是編寫短信消息的內(nèi)容。AT+CMGF=1rn,作用是設(shè)置短信消息為英文

          格式,手機(jī)模塊接到這串命令之后會(huì)返回 OK rn,那么不停循環(huán)檢測串口返回來的信息,直至出現(xiàn)

          回車符才進(jìn)行下一步動(dòng)作。接著往手機(jī)模塊發(fā)送AT+CMGS=13800138000rn,作用是設(shè)置短信接收的手

          機(jī)號碼,接著手機(jī)模塊會(huì)返回''>''符號,同理不停循環(huán)檢測串口接收的信息,直至出現(xiàn)''>''才進(jìn)行下一步

          動(dòng)作。下一步就是往手機(jī)模塊發(fā)送We are the best team!x1a,“We are the best team!”為信息的內(nèi)

          容,字符” x1a”為鍵盤“CTRL+Z”的ASCII碼值。這里分為三步,每一步都要完成動(dòng)作之后才能進(jìn)行下一

          步,假如不循環(huán)檢測串口返回的信息,一連串往手機(jī)模塊發(fā)送三串命令,手機(jī)模塊會(huì)相應(yīng)不來,導(dǎo)致丟失部

          分命令的后果。


          主循環(huán):
          while(1)
          { //如果按下WKUP鍵,則撥打號碼為“13800138000”的手機(jī)
          if(!GPIO_Keypress(GPIO_WKUP, BUT_WKUP))
          Serial_PutString(atd13800138000;rn);
          while(!GPIO_Keypress(GPIO_WKUP, BUT_WKUP));

          //如果按下Tamper鍵,則截止通話
          if(GPIO_Keypress(GPIO_KEY, BUT_Tamper))
          Serial_PutString(ATHrn);
          while(GPIO_Keypress(GPIO_KEY, BUT_Tamper));

          //如果按下SEL鍵,則調(diào)用MSN()函數(shù),達(dá)到發(fā)送短信的目的
          if(GPIO_Keypress(GPIO_KEY, BUT_SEL))
          MSN();
          while(GPIO_Keypress(GPIO_KEY, BUT_SEL));

          //延遲的作用為簡單的防按鍵抖動(dòng)功能
          Delay(100);
          }

          發(fā)送短信的命令:
          void MSN(void)
          {u8 word;
          Serial_PutString(AT+CMGF=1rn); //設(shè)置短信消息為英文格式
          while(1)
          {word=USART_ReceiveData(USART3);
          if(word==''n'')
          break;
          }
          Serial_PutString(AT+CMGS=13800138000rn); //設(shè)置短信接收的號碼
          while(1)


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();