STM32驱动SIM900A短信模块 |
您所在的位置:网站首页 › sim800c发送中文短信 › STM32驱动SIM900A短信模块 |
简介:STM32F103C8T6驱动SIM900A短信模块源码介绍。 开发平台:KEIL ARM MCU型号:STM32F103C8T6 传感器型号:SIM900A 特别提示:驱动内可能使用了某些其他组件,比如delay等,在文末外设模板下载地址内有。 1积分源码下载地址在文末!!! 接口图: 使用举例: #include #include "GSM_func.h" int main() { char mes[] = "this is message"; uint8_t recMesID = 0; GSM_Init(); // 初始化 GSM_sendMessage(mes); while(1) { // 接收到短信send:1 if((recMesID = GSM_waitMessage()) != 0) { char val = GSM_readMessage(recMesID); // val = 1 printf("rec mes val:%c\n", val); } } }驱动源码: GSM_config.c #include "main.h" #if 0 #define GSM_USARTx USART1 #define GSM_USART_CLK RCC_APB2Periph_USART1 #define GSM_USART_APBxClkCmd RCC_APB2PeriphClockCmd #define GSM_USART_BAUDRATE 9600 #define GSM_USART_GPIO_CLK (RCC_APB2Periph_GPIOA) #define GSM_USART_GPIO_APBxClkCmd RCC_APB2PeriphClockCmd #define GSM_USART_TX_GPIO_PORT GPIOA #define GSM_USART_TX_GPIO_PIN GPIO_Pin_9 #define GSM_USART_RX_GPIO_PORT GPIOA #define GSM_USART_RX_GPIO_PIN GPIO_Pin_10 #define GSM_USART_IRQ USART1_IRQn #define GSM_USART_IRQHandler USART1_IRQHandler #else #define GSM_USARTx USART2 #define GSM_USART_CLK RCC_APB1Periph_USART2 #define GSM_USART_APBxClkCmd RCC_APB1PeriphClockCmd #define GSM_USART_BAUDRATE 9600 #define GSM_USART_GPIO_CLK (RCC_APB2Periph_GPIOA) #define GSM_USART_GPIO_APBxClkCmd RCC_APB2PeriphClockCmd #define GSM_USART_TX_GPIO_PORT GPIOA #define GSM_USART_TX_GPIO_PIN GPIO_Pin_2 #define GSM_USART_RX_GPIO_PORT GPIOA #define GSM_USART_RX_GPIO_PIN GPIO_Pin_3 #define GSM_USART_IRQ USART2_IRQn #define GSM_USART_IRQHandler USART2_IRQHandler #endif // char GSM_USART_RX_BUF[GSM_USART_MAX_RECV_LEN]; char GSM_USART_TX_BUF[GSM_USART_MAX_SEND_LEN]; // [14:0]: 接收字节数 [15]: 接收完成标志 volatile uint16_t GSM_USART_RX_STA = 0; // GSM串口中断处理 void GSM_USART_IRQHandler(void) { uint8_t res; if(USART_GetITStatus(GSM_USARTx, USART_IT_RXNE) != RESET) { res = USART_ReceiveData(GSM_USARTx); if((GSM_USART_RX_STA&(1 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |