www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 消費電子 > 消費電子
[導(dǎo)讀]一.實驗內(nèi)容 基于stm32平臺控制手機模塊撥打電話,取消撥打電話以及發(fā)送短信。 按下WKUP鍵撥打電話,按下Tamper鍵則取消撥打,按下SEL鍵就以短信形式發(fā)送一串英文字符到手機。二.實驗流程 三.實驗結(jié)果 按下WKUP

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

二.實驗流程


 

三.實驗結(jié)果
按下WKUP鍵,撥通手機;按下Tamper鍵截斷通話;按下SEL鍵往手機發(fā)送短信。

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

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

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

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

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

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

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

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

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

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

分命令的后果。


主循環(huán):
while(1)
 { //如果按下WKUP鍵,則撥打號碼為“13800138000”的手機
 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));

 //延遲的作用為簡單的防按鍵抖動功能
 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="13800138000"rn");   //設(shè)置短信接收的號碼
 while(1)
   {word=USART_ReceiveData(USART3);
    if(word==''>'')
    break;
    }
 Serial_PutString("We are the best team!x1a");    //編寫短信內(nèi)容
 while(1)
   {word=USART_ReceiveData(USART3);
    if(word==''n'')
    break;
    }
 }

五.程序深入分析
5.1
STM32需要用到的每一只引腳都需要使能引腳時鐘,本程序需要用到三個按鍵以及一個串口(USTAR3),其中兩

個按鍵在PC口,一個按鍵在PA口,程序在RCC_Configuration()函數(shù)里面實現(xiàn):
/*使能GPIOx 時鐘 */
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx, ENABLE);

/* 使能USARTx 時鐘 */
RCC_APB1PeriphClockCmd(RCC_APB_Periph_USARTx, ENABLE);

/* 使能按鍵引腳時鐘 */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO| RCC_APB2Periph_GPIO_BUTTON |

RCC_APB2Periph_GPIO_WKUP , ENABLE);

5.2
STM32每一只引腳都有復(fù)用功能,所以用到的每一只引腳都需要配置引腳的功能,程序在

GPIO_Configuration()函數(shù)里面實現(xiàn):

GPIO_InitTypeDef GPIO_InitStructure;

  GPIO_PinRemapConfig(GPIO_PartialRemap_USART3, ENABLE);

  /* 設(shè)置USARTx_Tx 為復(fù)用推挽輸出,頻率為50MHz */
  GPIO_InitStructure.GPIO_Pin = GPIO_TxPin;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOx, &GPIO_InitStructure);

  /* 設(shè)置USARTx_Rx為浮空輸入,頻率為50MHz */
  GPIO_InitStructure.GPIO_Pin = GPIO_RxPin;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOx, &GPIO_InitStructure);

  /* 設(shè)置按鍵引腳為浮空輸入,頻率為2MHz */
  GPIO_InitStructure.GPIO_Pin = BUT_LEFT | BUT_RIGHT | BUT_UP | BUT_DOWN | BUT_Tamper |

BUT_SEL;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  GPIO_Init(GPIO_KEY, &GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Pin = BUT_WKUP;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIO_WKUP, &GPIO_InitStructure);

引腳的配置有三項,Pin、Speed與Mode,在設(shè)置USARTx_Tx時把三項都設(shè)置了,而在設(shè)置USART_Rx時卻只設(shè)置

了兩項,其中Speed沒有設(shè)置,則保持上一次設(shè)置的狀態(tài),也就是在設(shè)置USART_Tx時的50MHz。同理在設(shè)置上

下左右與Tamper、SEL鍵對應(yīng)引腳時都設(shè)置了三項,而設(shè)置WKUP鍵對應(yīng)引腳時只是配置了兩項。
5.3 在主函數(shù)的死循環(huán)里面最后一步是調(diào)用delay()函數(shù)來延遲100ms,作用是防止按鍵的抖動。而delay

函數(shù)的實現(xiàn)是通過調(diào)用SysTick時鐘源溢出中斷來實現(xiàn)的,SysTick時鐘源在main函數(shù)的開頭設(shè)置了為1ms中斷

一次。
5.4 主程序是通過串口3和手機模塊通信的,而波特率設(shè)置為115200,程序如下:

USART_InitStructure.USART_BaudRate = 115200;
  USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  USART_InitStructure.USART_StopBits = USART_StopBits_1;
  USART_InitStructure.USART_Parity = USART_Parity_No ;
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

其實手機模塊也有其通訊頻率的,假如兩者的頻率不同,那么就不能達(dá)到通訊的目的,現(xiàn)在就讓我們來看看如何查看和修改手機模塊的通訊頻率。硬件的連接很簡單,只需要把手機模塊的電源接上,插上手機模塊和手機卡,用USB轉(zhuǎn)串口線把電腦和手機模塊連接起來,打開SecureCRT軟件,并設(shè)置好通訊頻率。假如軟件設(shè)置的通信頻率和手機模塊的實際頻率不同,那么在軟件的窗口就會出現(xiàn)亂碼。現(xiàn)在有一個疑問啦,假如手機模塊剛買回來,不知道通信頻率怎么辦,不用擔(dān)心,手機模塊如果沒經(jīng)設(shè)置,它的通訊頻率是默認(rèn)第一收數(shù)據(jù)的數(shù)據(jù)頻率。下面舉例子把手機模塊的通訊頻率由115200改為57600,

具體指令at+ipr?的作用為查看當(dāng)前手機模塊的通訊頻率,at+ipr=115200為設(shè)置手機模塊的當(dāng)前通訊頻率?;剀囍?,再次輸入數(shù)據(jù)就會出現(xiàn)亂碼,因為手機模塊的通訊頻率已經(jīng)修改了,現(xiàn)在只需停止串口軟件通信,然后把軟件的通訊頻率改為115200就可以了。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀(jì)念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進(jìn)出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機 CAN

串口作為單片機開發(fā)的一個常用的外設(shè),應(yīng)用范圍非常廣。大部分時候,串口需要接收處理的數(shù)據(jù)長度是不定的。那么怎么才能判斷一幀數(shù)據(jù)是否結(jié)束呢,今天就以STM32單片機為例,介紹幾種接收不定長數(shù)據(jù)的方法。

關(guān)鍵字: 單片機 串口 STM32

要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...

關(guān)鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車

消費電子

95878 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉