国产精品一区二区久久I日本操B网站Iwww.射comI综合伊人I国产iGAO为爱做激情在线观看I91在线网址I色综合欧洲I久久久精品电影I亚洲熟妇无码久久精品app

聯系我們
發送郵箱
主頁 ? 新聞資訊 ? 新聞動態 ? 意法半導體MCU STM32的GPRS數據傳輸技術的研究

意法半導體MCU STM32的GPRS數據傳輸技術的研究

2019-11-26 09:16:50

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

下面本文要介紹的是有關于實現STM32 GPRS數據傳輸技術資料.

1、實現細節

實現GPRS數據傳輸的原理是:STM32解析一串數據或命令,然后通過串口或其他方式一個字符一個字符地發送給SIM900A模塊,SIM900A接收到數據之后再通過SIM卡發送到服務器。當SIM900A接收到數據時,立即響應中斷,按照中斷所設置的方式進行數據處理。此時,就需要通過發送檢驗和接收檢驗來控制數據的傳輸。
 
1.1、發送檢驗

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

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

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

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

USART_ClearITPendingBit(USART2,USART_IT_RXNE); 

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


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

相關文章:基于意法半導體MCU STM32的底層配置


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

?更多資訊關注SRAMSUN.   www.wxshunlong.com         0755-66658299
 
 
展開
主站蜘蛛池模板: 九色91在线 | 99精品国产高清在线观看 | 五月天激情视频 | 国产精品免费久久久久久久久久中文 | 91视频这里只有精品 | 亚洲成a人片综合在线 | 亚洲精品乱码久久久久久9色 | 日韩精品欧美专区 | 婷婷色网视频在线播放 | 青青河边草免费直播 | 天天操天天插 | 欧美日韩一区二区视频在线观看 | 911免费视频 | 久久另类小说 | 日韩免费观看一区二区 | 日本少妇高清做爰视频 | 国产精品ssss在线亚洲 | 91伊人| 超碰日韩在线 | 久久免费视频在线观看 | 玖玖在线观看视频 | 香蕉日日| 久久久久久久久久免费 | 久热免费在线观看 | 99re中文字幕 | 有码视频在线观看 | 久久国产精品99久久久久久老狼 | 伊人丁香 | 女人高潮特级毛片 | 精品视频久久 | 久草香蕉在线 | 在线不卡视频 | 免费视频一级片 | 黄色资源在线观看 | 欧美日韩亚洲国产一区 | 亚洲精品午夜一区人人爽 | 亚洲国产97在线精品一区 | a成人v | 国产在线播放一区二区三区 | 欧美乱码精品一区二区 | 狠狠撸电影 | 西西444www | 亚洲一级久久 | 久草在线视频资源 | 国产精品18久久久久久不卡孕妇 | 亚洲一区 av| 国产精品成人a免费观看 | 一区二区视频欧美 | 在线观看深夜福利 | 国产手机在线观看视频 | 看av在线 | 天天摸天天弄 | 五月婷婷国产 | 二区三区av | 国产精品成人av在线 | 91精品久久久久久粉嫩 | 久久精品999 | 91在线一区| 天天看天天操 | 国产高清视频色在线www | 人人爽久久久噜噜噜电影 | 中文字幕永久 | 亚洲午夜久久久久久久久电影网 | 久草视频在线资源站 | 久久精品一区二区三区国产主播 | 夜夜爽88888免费视频4848 | 国产精品一区在线 | 99久久www | 国产精品麻豆视频 | 在线黄色av | 91日韩国产| 国内精品99 | 久久 精品一区 | 四虎成人精品永久免费av九九 | 午夜日b视频 | 香蕉视频在线观看免费 | 黄色www在线观看 | 在线a视频 | 精品国产一二三四区 | 国产麻豆精品传媒av国产下载 | 日日碰狠狠躁久久躁综合网 | 久久在线免费观看 | 免费黄色a网站 | 久草在线久草在线2 | 天天夜夜亚洲 | 色综合天天射 | 中文字幕之中文字幕 | 国产麻豆成人传媒免费观看 | 激情五月综合网 | 91视频在线观看大全 | 国产又粗又猛又黄又爽视频 | 91av看片| 久久久污 | 久久精国产 | 在线观看aaa | 国产精品久久久久四虎 | 在线中文字幕av观看 | 日韩深夜在线观看 | 免费看的av片 |