SIM900A AT命令手册中文版:快速掌握与最新功能

5星 · 超过95%的资源 需积分: 18 1 下载量 85 浏览量 更新于2024-07-20 收藏 2.08MB PDF 举报
SIM900A_AT命令手册中文版是芯讯通无线科技(上海)有限公司针对SIM900A模块设计的一份详细指南,旨在帮助用户通过AT指令快速掌握和操作该模块。这份手册于2011年10月25日发布,版本为1.05,是基于SIM900A模块的AT命令测试报告编写的,后续经过了多次更新,增加了多个新功能和命令。 手册的主要内容包括但不限于: 1. **简介与一般事项**:手册强调作为客户服务的一部分,它提供了清晰的章节结构和简洁的描述,以便用户能够快速理解和执行AT命令,从而加速产品开发和工程项目的进度。同时,它也明确了SIMCom并不对附加信息的试验承担责任,且用户需自行验证系统的兼容性和有效性。 2. **版权声明**:手册中的内容受芯讯通无线科技(上海)有限公司的专利保护,未经书面许可,禁止未经授权的复制、传播或侵犯专利权。 3. **版本历史**:从V1.00到V1.05,手册在每个版本中都新增了一些关键命令,如AT+CLCC、AT+CR、AT+GSMBUSY、AT+CIPRXGET等,反映了SIM900A模块功能的不断扩展。 4. **具体命令详解**:手册详细列出了多个AT命令及其功能,例如: - AT+CALS: 用于查询网络注册状态 - AT+CBTE: 与GPRS通信相关的设置 - AT+STTONE: 控制模块铃声 - AT+CIPDPDP: 与数据包模式通信有关 - AT+CIPUDPMODE: 设置GPRS数据通信模式 - AT+SGPIO: GPIO功能控制 - AT+SPWM: PWM信号控制 - AT+ECHO: 开启/关闭命令回显 - AT+GSMBUSY: 检查GSM模块忙闲状态 - AT+CIPRXGET: 获取接收数据缓冲区信息 - AT+CIPQRCLOSE: 关闭数据连接 - AT+CIPSCONT: 连接/断开数据链路 - AT+SAPBR: 设置SIM卡附着参数 - AT+...: 其他各种功能相关的AT命令 5. **注意事项**:手册明确指出,由于产品升级或其他原因,手册内容可能随时更新,且不构成任何形式的担保。用户需要保持手册与最新产品规格同步,以确保信息的准确性和适用性。 综上,SIM900A_AT命令手册中文版是开发人员、系统集成商和技术支持人员必备的参考资料,提供了一个全面的框架,帮助他们有效地利用SIM900A模块进行通信和控制。

void SIM900A_Init(void) { USART_InitTypeDef USART_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1, ENABLE); // 配置USART1的GPIO GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure); // 配置USART1 USART_InitStructure.USART_BaudRate = 9600; 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; USART_Init(USART1, &USART_InitStructure); USART_Cmd(USART1, ENABLE); // 等待SIM900A模块启动 delay_ms(5000); } void SIM900A_SendCommand(char* command) { while(*command) { USART_SendData(SIM900A_USART, *command++); while(USART_GetFlagStatus(SIM900A_USART, USART_FLAG_TC) == RESET); } } void SIM900A_SendSMS(char* phoneNumber, char* message) { SIM900A_SendCommand("AT+CMGF=1"); // 设置短信格式为文本模式 SIM900A_SendCommand("AT+CMGS=\"+86"); // 设置手机号码 SIM900A_SendCommand(phoneNumber); SIM900A_SendCommand("\""); SIM900A_SendCommand(message); // 发送短信内容 USART_SendData(SIM900A_USART, 0x1A); // 发送Ctrl+Z结束短信 while(USART_GetFlagStatus(SIM900A_USART, USART_FLAG_TC) == RESET); } void SIM900A_SendSMS_Chinese(char* phoneNumber, char* message) { char ucs2Message[200]; u8 i; u8 j; SIM900A_SendCommand("AT+CMGF=0"); // 设置短信格式为PDU模式 SIM900A_SendCommand("AT+CSCS=\"UCS2\""); // 设置字符集为UCS2 SIM900A_SendCommand("AT+CSMP=17,167,0,8"); // 设置短信参数 SIM900A_SendCommand("AT+CMGS=\"+86"); // 设置手机号码 SIM900A_SendCommand(phoneNumber); SIM900A_SendCommand("\""); for(i = 0, j = 0; i < strlen(message); i += 2, j += 4) { sprintf(&ucs2Message[j], "%02X%02X", message[i+1], message[i]); } ucs2Message[j] = '\0'; SIM900A_SendCommand(ucs2Message); // 发送短信内容 USART_SendData(SIM900A_USART, 0x1A); // 发送Ctrl+Z结束短信 while(USART_GetFlagStatus(SIM900A_USART, USART_FLAG_TC) == RESET); }

2023-06-12 上传