• <center id="hpmoi"><bdo id="hpmoi"><em id="hpmoi"></em></bdo></center>
    <code id="hpmoi"></code>

    • <option id="hpmoi"><p id="hpmoi"><address id="hpmoi"></address></p></option>
    • 国产精品自线三级,亚洲欧美日韩综合在线一,日韩高清免费视频一区二区三区,亚洲人成电影网站色,国产精品夜夜春夜夜爽久久小说 ,中文字幕人妻有码久视频,九九热视频在线观看精品,加勒比hezyo无码专区免费
      聯(lián)系我們
      發(fā)送郵箱
      主頁 ? 新聞資訊 ? 新聞動(dòng)態(tài) ? 意法半導(dǎo)體MCU STM32的GPRS數(shù)據(jù)傳輸技術(shù)的研究

      意法半導(dǎo)體MCU STM32的GPRS數(shù)據(jù)傳輸技術(shù)的研究

      2019-11-26 09:16:50

      意法半導(dǎo)體是目前世界最大的半導(dǎo)體公司之一。目前為止意法半導(dǎo)體MCU的增長速度已經(jīng)超過了半導(dǎo)體工業(yè)的整體增長速度。自1999年起,ST始終是世界十大半導(dǎo)體公司之一。據(jù)最新的工業(yè)統(tǒng)計(jì)數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場居世界領(lǐng)先水平。尤其是生產(chǎn)得STM32的意法半導(dǎo)體MCU產(chǎn)品,被廣泛應(yīng)用在各種行業(yè)領(lǐng)域范圍,給當(dāng)代社會(huì)帶來了更多的便利.國內(nèi)本土MCU產(chǎn)品能替換代替兼容的主要有靈動(dòng)微.一家致力于MCU產(chǎn)品和解決方案的廠商.

      下面本文要介紹的是有關(guān)于實(shí)現(xiàn)STM32 GPRS數(shù)據(jù)傳輸技術(shù)資料.

      1、實(shí)現(xiàn)細(xì)節(jié)

      實(shí)現(xiàn)GPRS數(shù)據(jù)傳輸?shù)脑硎牵篠TM32解析一串?dāng)?shù)據(jù)或命令,然后通過串口或其他方式一個(gè)字符一個(gè)字符地發(fā)送給SIM900A模塊,SIM900A接收到數(shù)據(jù)之后再通過SIM卡發(fā)送到服務(wù)器。當(dāng)SIM900A接收到數(shù)據(jù)時(shí),立即響應(yīng)中斷,按照中斷所設(shè)置的方式進(jìn)行數(shù)據(jù)處理。此時(shí),就需要通過發(fā)送檢驗(yàn)和接收檢驗(yàn)來控制數(shù)據(jù)的傳輸。
       
      1.1、發(fā)送檢驗(yàn)

      由于STM32逐個(gè)字符地將數(shù)據(jù)發(fā)送給SIM900A模塊,因此必須保證數(shù)據(jù)的正確性與連貫性。如果在發(fā)送的時(shí)候響應(yīng)中斷或者進(jìn)行任務(wù)調(diào)度,則發(fā)送將作廢,從而導(dǎo)致程序出錯(cuò),所以開發(fā)者必須警惕該類的錯(cuò)誤出現(xiàn)。
       
      發(fā)送數(shù)據(jù)或者命令的時(shí)候,可以將數(shù)據(jù)通過參數(shù)傳給發(fā)送函數(shù),由發(fā)送函數(shù)統(tǒng)一控制,發(fā)送完成之后再返回一個(gè)發(fā)送完成標(biāo)志位,告知調(diào)用函數(shù)者發(fā)送已完成。源程序如下:
       
      voidUSART_Send_Byte(charMyData){//發(fā)送字符函數(shù) 
      USART_ClearFlag(USART2,USART_FLAG_TC); 
      //清除標(biāo)志位,如上所述 
      USART_SendData(USART2,MyData);//發(fā)送數(shù)據(jù) 
      while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);//等待發(fā)送完成 

      voidUSART_Send_Str(char*s){//發(fā)送字符串 
      inTI; 
      intlen=strlen(s)-1;//字符串長度 
      for(inTI=0;i《len;i++) 
      USART_Send_Byte(s[i]);//循環(huán)將字符串發(fā)送出去 
      if(s[i]==0x0a){//判斷發(fā)送是否結(jié)束 
      SendCFFlag=TRUE; 
      //如果為真,則發(fā)送完成標(biāo)志位置為真 
      }else{ 
      USART_Send_Byte(s[i]);//如果為假,則發(fā)送出去 

      }
       
      1.2、接收檢驗(yàn)
      當(dāng)SIM900A有數(shù)據(jù)返回或者有數(shù)據(jù)通過SIM900A接收到下位機(jī)時(shí),STM32會(huì)立即響應(yīng)中斷來接收數(shù)據(jù)。此時(shí)就要在中斷函數(shù)中進(jìn)行一系列處理。以SIM900A為例,SIM900A模塊返回的命令都是以“r”+“n”+“”結(jié)尾,因此檢驗(yàn)傳輸結(jié)束可以根據(jù)它進(jìn)行判斷。在中斷響應(yīng)函數(shù)(即stm32f10x_it.c文件里)的USART2_IRQHandler函數(shù)可以設(shè)置如下:
       
      voidUSART2_IRQHandler(void) 

      if(USART_GeTITStatus(USART2,USART_IT_RXNE)!=RESET){ 
      //將接收字符存入接收緩沖區(qū)RxBuffer
       RxBuffer[ReceCounter++]=(char)USART_ReceiveData(USART2); 
      //判斷是否接收結(jié)束 
      if(RxBuffer[ReceCounter]==′′&&RxBuffer[ReceCounter-1]==0x0A&& 
      RxBuffer[ReceCounter-2]==0x0D){ 
      ReceCFFlag=TRUE; 

      USART_ClearITPendingBit(USART2,USART_IT_RXNE); 

      }
       
      該函數(shù)的基本思路是:將USART接收到的字符逐個(gè)存入緩沖區(qū),然后判斷緩沖區(qū)最后3個(gè)字符是否為SIM900A的結(jié)束標(biāo)識(shí)符。如果為假,繼續(xù)接收;如果為真,則將接收完成標(biāo)識(shí)符置為真。當(dāng)接收完成標(biāo)識(shí)符為真時(shí),說明接收完成,接下來就可以進(jìn)行數(shù)據(jù)處理了。
       
      1.3、命令函數(shù)實(shí)現(xiàn)方法
      下面將以AT+CIPSEND為例,闡述發(fā)送數(shù)據(jù)的細(xì)節(jié)。通過初始化模塊、開啟網(wǎng)絡(luò)、建立接入點(diǎn)和建立TCP連接之后,就可以開始發(fā)送數(shù)據(jù)。實(shí)現(xiàn)源代碼如下:
       
      u8GPRS_Send(void){ 
      u8i=0; 
      u8*p; 
      USART_SendToGPRS(“AT+CIPSENDrn”);//發(fā)送命令 
      Delay_ms(500);//延時(shí)500ms 
      p=LookFor_Str(RxBuffer,“》”); 
      //查找是否有“》”符號(hào),如果有,則可以發(fā)送數(shù)據(jù)
      if(p!=0){
      p=0; 
      memset(RxBuffer,0,BufferSize);//清空接收緩沖區(qū)
      USART_SendToGPRS(GPRSSendData);//發(fā)送數(shù)據(jù) 
      Delay_ms(500); 
      Delay_ms(500); 
      Delay_ms(500); 
      p=LookFor_Str(RxBuffer,“SENDOK”); 
      if(p!=0){//判斷是否發(fā)送成功 
      //發(fā)送成功操作 
      return1;
      }else{ 
      //發(fā)送失敗操作
      return0;
      }
      }


      該函數(shù)的基本思路是:首先發(fā)送命令,然后查找是否有“》”符號(hào),如果有,則說明可以開始發(fā)送數(shù)據(jù)。一段延時(shí)之后查找接收緩沖區(qū)是否有“SENDOK”字眼,有則說明發(fā)送成功,沒有則表示發(fā)送失敗。可以根據(jù)判斷作進(jìn)一步的操作。
       
      本文關(guān)鍵詞: 意法半導(dǎo)體MCU

      相關(guān)文章:基于意法半導(dǎo)體MCU STM32的底層配置


      深圳市英尚微電子有限公司是一家專業(yè)的靜態(tài)隨機(jī)記憶體產(chǎn)品及方案提供商,十年來專業(yè)致力代理分銷存儲(chǔ)芯片IC, SRAM、MRAM、pSRAM、 FLASH芯片、SDRAM(DDR1/DDR2/DDR3)等,為客人提供性價(jià)比更高的產(chǎn)品及方案。
      英尚微電子中國區(qū)指定的授權(quán)代理:VTI、NETSOL、JSC濟(jì)州半導(dǎo)體(EMLSI)、Everspin 、IPSILOG、LYONTEK、ISSI、CYPRESS、ISOCOME、PARAGON、SINOCHIP、UNIIC; 著名半導(dǎo)體品牌的專業(yè)分銷商  如:RAMTROM、ETRON、FUJITSU、LYONTEK、WILLSEMI。
       

      ?更多資訊關(guān)注SRAMSUN.   www.bfen.cn         0755-66658299
       
       
      展開
      主站蜘蛛池模板: 日韩av天堂综合网久久| 欧美精品色婷婷五月综合| 丰满的人妻日韩一二三区| 亚洲男人的天堂久久香蕉| AV无码小缝喷白浆在线观看| 一区二区亚洲精品国产精| 久热中文字幕在线| 99精品无人区乱码1区2区3区| 精品国产高清自在线一区二区三区| 亚洲一区二区三区无码中文字幕 | 国产一区二区三区无遮挡| 亚洲av无码成人精品区一区| 久久精品国产亚洲AV无码娇色观看互动交流 | 大地资源高清日本| 亚洲人成电影在线观看青青 | 久久久久久人妻一区二区三区| 丰满少妇人妻无码专区| 日韩一级 片内射视频| 日韩中文字幕有码av| 国产亚洲欧洲AⅤ综合一区| 乱女乱妇熟女熟妇综合网| 日本熟妇浓毛HDSEX| iGAo视频国产| 欧美日韩国产在线观看一区二区三区 | 国产精品久久久久一区二区| 国产乱人伦偷精品视频麻豆| 亚洲中文天堂在线| 国产成人超清在线视频| 中文字幕一区二区三区久久蜜桃| 国产精品嫩草影院永久| 无码人妻一区二区三区免费视频| 青青青国产依人在线| 99精品视频免费热播在线观看 | 四虎成人免费视频在线播放| 欧美色精品视频在线观看| 日韩中文字幕手机精品无码亚州| 午夜性刺激免费看视频| 一本一道久久a久久精品综合色欲| 91 欧美精品| 麻豆精品国产免费| 国产精品久久久久久一级毛片|