美国操逼网,这里有精品久久,大屁屁少妇p,日本 欧美 一区 二区

<style id="b2rkw"></style>
  • <bdo id="b2rkw"><span id="b2rkw"><meter id="b2rkw"></meter></span></bdo>

    <center id="b2rkw"><optgroup id="b2rkw"></optgroup></center>
    <p id="b2rkw"></p>
    聯(lián)系我們
    發(fā)送郵箱
    主頁(yè) ? 新聞資訊 ? 新聞動(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的增長(zhǎng)速度已經(jīng)超過(guò)了半導(dǎo)體工業(yè)的整體增長(zhǎng)速度。自1999年起,ST始終是世界十大半導(dǎo)體公司之一。據(jù)最新的工業(yè)統(tǒng)計(jì)數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場(chǎng)居世界領(lǐng)先水平。尤其是生產(chǎn)得STM32的意法半導(dǎo)體MCU產(chǎn)品,被廣泛應(yīng)用在各種行業(yè)領(lǐng)域范圍,給當(dāng)代社會(huì)帶來(lái)了更多的便利.國(guó)內(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ù)或命令,然后通過(guò)串口或其他方式一個(gè)字符一個(gè)字符地發(fā)送給SIM900A模塊,SIM900A接收到數(shù)據(jù)之后再通過(guò)SIM卡發(fā)送到服務(wù)器。當(dāng)SIM900A接收到數(shù)據(jù)時(shí),立即響應(yīng)中斷,按照中斷所設(shè)置的方式進(jìn)行數(shù)據(jù)處理。此時(shí),就需要通過(guò)發(fā)送檢驗(yàn)和接收檢驗(yàn)來(lái)控制數(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ò),所以開(kāi)發(fā)者必須警惕該類(lèi)的錯(cuò)誤出現(xiàn)。
     
    發(fā)送數(shù)據(jù)或者命令的時(shí)候,可以將數(shù)據(jù)通過(guò)參數(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;//字符串長(zhǎng)度 
    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ù)通過(guò)SIM900A接收到下位機(jī)時(shí),STM32會(huì)立即響應(yīng)中斷來(lái)接收數(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í),說(shuō)明接收完成,接下來(lái)就可以進(jìn)行數(shù)據(jù)處理了。
     
    1.3、命令函數(shù)實(shí)現(xiàn)方法
    下面將以AT+CIPSEND為例,闡述發(fā)送數(shù)據(jù)的細(xì)節(jié)。通過(guò)初始化模塊、開(kāi)啟網(wǎng)絡(luò)、建立接入點(diǎn)和建立TCP連接之后,就可以開(kāi)始發(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),如果有,則說(shuō)明可以開(kāi)始發(fā)送數(shù)據(jù)。一段延時(shí)之后查找接收緩沖區(qū)是否有“SENDOK”字眼,有則說(shuō)明發(fā)送成功,沒(méi)有則表示發(fā)送失敗。可以根據(jù)判斷作進(jìn)一步的操作。
     
    本文關(guān)鍵詞: 意法半導(dǎo)體MCU

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


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

    ?更多資訊關(guān)注SRAMSUN.   m.bsgbio.com         0755-66658299
     
     
    展開(kāi)