SIM900A MMS AT命令手册V1.00:全面指南

需积分: 10 8 下载量 87 浏览量 更新于2024-07-20 收藏 286KB PDF 举报
SIM900A_MMS_AT Command Manual_V1.00 是一份详细的文档,专门针对SIM900A模块的多媒体消息服务(MMS)功能进行操作指导。这份手册提供了SIM900系列模块与GSM网络进行MMS通信所必需的AT指令集。它旨在支持客户在开发基于SIM900A的MMS应用和工程设计时,通过这些AT命令实现数据传输、接收和管理多媒体信息的功能。 该版本为1.00,发布日期为2010年11月15日,表示文档是最新状态,便于用户获取最新的技术信息。文档控制ID标识了其特定版本,便于跟踪和更新。SIMCom公司提供此手册作为服务的一部分,但需注意,它仅基于客户提供的具体需求而编制,没有独立进行广泛的系统验证。因此,对于最终产品的系统集成和性能确认,仍需由用户或其系统集成商负责。 手册中提到,SIMCom并未主动搜索可能存在的其他相关资料,即使这些资料可能已被客户持有。同时,所有提供的规格可能会有所变更,因此用户在使用时应持续关注更新。版权方面,文档内包含SIMCom Limited的专有技术信息,未经许可,复制文档、分享内容或使用其中信息都属于侵权行为。 SIM900A_MMS_AT Command Manual_V1.00是开发人员、系统工程师以及维护人员的重要参考资料,它详细解释了如何通过AT指令控制SIM900A进行MMS功能的配置、发送和接收短信图片、音频或视频等多媒体信息,对于利用SIM900A构建MMS通信系统的人来说,是不可或缺的技术指南。

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 上传