<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > STM32 MSN&Dial實(shí)驗分析及原理

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

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

{word=USART_ReceiveData(USART3);
if(word==''>'')
break;
}
Serial_PutString(We are the best team!x1a); //編寫(xiě)短信內容
while(1)
{word=USART_ReceiveData(USART3);
if(word==''n'')
break;
}
}

本文引用地址:http://dyxdggzs.com/article/166918.htm

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

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

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

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

RCC_APB2Periph_GPIO_WKUP , ENABLE);

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

GPIO_Configuration()函數里面實(shí)現:

GPIO_InitTypeDef GPIO_InitStructure;

GPIO_PinRemapConfig(GPIO_PartialRemap_USART3, ENABLE);

/* 設置USARTx_Tx 為復用推挽輸出,頻率為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);

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

/* 設置按鍵引腳為浮空輸入,頻率為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,在設置USARTx_Tx時(shí)把三項都設置了,而在設置USART_Rx時(shí)卻只設置

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

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

函數的實(shí)現是通過(guò)調用SysTick時(shí)鐘源溢出中斷來(lái)實(shí)現的,SysTick時(shí)鐘源在main函數的開(kāi)頭設置了為1ms中斷

一次。
5.4 主程序是通過(guò)串口3和模塊通信的,而波特率設置為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;

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

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


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>