第一范文网 - 专业文章范例文档资料分享平台

C51单片机控制sim900a收发信息c语言程序

来源:用户分享 时间:2025/8/25 14:06:45 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

sprintf(ttyBuffer, \ Uart1_PutString(ttyBuffer);

if(Uart1_GetString(ttyBuffer, TTY_MAX_BUFFER_SIZE, 1000) == 0) {

Uart0_PutString(\ return -1; }

if(strstr(ttyBuffer, \没有找到命令成功执行的结果,函数返回,否则命令执行成功 {

Uart0_PutString(\断开连接失败.\\n\\r\ return -1; }

return 0; } /**

* @brief 关闭网络功能

* @author SwanTech (2011/12/12) * @param */

char SwanTech_TCPIP_NETShut(void) {

//! AT+CIPSHUT [关闭网络功能]

sprintf(ttyBuffer, \ Uart1_PutString(ttyBuffer);

if(Uart1_GetString(ttyBuffer, TTY_MAX_BUFFER_SIZE, 1000) == 0) {

Uart0_PutString(\ return -1; }

if(strstr(ttyBuffer, \没有找到命令成功执行的结果,函数返回,否则命令执行成功 {

Uart0_PutString(\关闭网络功能失败.\\n\\r\ return -1; }

return 0; } /**

* @brief SIM900_TCPIP数据发送函数

* @author SwanTech (2011/12/12)

* @param pBuffer: 数据缓冲区地址 * @param nBufferLen: 数据长度 */

short SwanTech_TCPIP_Send(char* pBuffer, unsigned short nBufferLen) {

//! 请求发送数据 //! AT+CIPSEND

sprintf(ttyBuffer, \ Uart1_PutString(ttyBuffer);

if(Uart1_GetString(ttyBuffer, TTY_MAX_BUFFER_SIZE, 1000) == 0) {

Uart0_PutString(\ return -1; }

if(strstr(ttyBuffer, \== NULL) //! 没有找到命令成功执行的结果,函数返回,否则命令执行成功 {

Uart0_PutString(\请求发送数据失败.\\n\\r\ return -1; }

//! 发送数据

Uart1_PutString(pBuffer);

if(Uart1_GetString(ttyBuffer, TTY_MAX_BUFFER_SIZE, 1000) == 0) {

Uart0_PutString(\ return -1; }

if(strstr(ttyBuffer, \没有找到命令成功执行的结果,函数返回,否则命令执行成功 {

Uart0_PutString(\发送数据失败.\\n\\r\ return -1; }

return nBufferLen; } /**

* @brief SIM900_TCPIP数据接收函数 * @author SwanTech (2011/12/12) * @param pBuffer: 数据缓冲区地址 * @param nBufferLen: 缓冲区大小

*/

short SwanTech_TCPIP_Recv(char* pBuffer, unsigned short nBufferLen) {

//! 判断应答数据到来标志[+CIPRXGET:1]

if(Uart1_GetString(ttyBuffer, TTY_MAX_BUFFER_SIZE, 10000) == 0) {

Uart0_PutString(\ return -1; }

if(strstr(ttyBuffer, \== NULL) //! 没有找到命令成功执行的结果,函数返回,否则命令执行成功 {

Uart0_PutString(\获取应答数据标志失败.\\n\\r\ return -1; }

//! 读取应答数据

Uart1_PutString(\

if(Uart1_GetString(ttyBuffer, TTY_MAX_BUFFER_SIZE, 30000) == 0) {

Uart0_PutString(\ return -1; }

if(strstr(ttyBuffer, \== NULL) //! 没有找到命令成功执行的结果,函数返回,否则命令执行成功 {

Uart0_PutString(\读取应答数据失败.\\n\\r\ return -1; }

return 1; }

void SwanTech_CommandMonitor(void) {

unsigned char bFinishConfig = 0; unsigned char bFinishConnect = 0; char buffer[3] = {0};

while(1) {

Uart0_GetALine(buffer, 2, 0);

//! 如果连续收到2个0x7F,那么认为是STC-ISP正在请求下载程序 //! 这时候启动系统复位,从ISP监控程序重新引导

if(buffer[0] == 0x7F && buffer[1] == 0x7F) IAP_CONTR = 0x60;

Uart0_PutString(\ if(buffer[0] == '1') {

if(SwanTech_TCPIP_Config() == -1) {

bFinishConfig = 0; //! 配置失败的标志

Uart0_PutString(\开启TCPIP网络功能失败!\\n\\r\ } else {

bFinishConfig = 1; //! 配置成功的标志

Uart0_PutString(\开启TCPIP网络功能成功!\\n\\r\ } }

else if(buffer[0] == '2') {

if(bFinishConfig == 0) //! 如果没有开启TCPIP网络功能,那么返回失败 Uart0_PutString(\请先开启TCPIP网络功能!\\n\\r\ else if(SwanTech_TCPIP_Connect() == -1) {

bFinishConnect = 0; //! 连接失败的标志 Uart0_PutString(\连接服务器失败!\\n\\r\ } else {

bFinishConnect = 1; //! 连接成功的标志 Uart0_PutString(\连接服务器成功!\\n\\r\ } }

else if(buffer[0] == '3') {

strcpy(tcpipBuffer, \鸿鹄电子科技. Http://swantech.taobao.com/\ if(bFinishConnect == 0) //! 如果成功连接到服务器,那么返回失败 Uart0_PutString(\请先连接服务器!\\n\\r\

else if(SwanTech_TCPIP_Send(tcpipBuffer, strlen(tcpipBuffer)) == -1) Uart0_PutString(\发送数据失败!\\n\\r\ else

Uart0_PutString(\发送数据成功!\\n\\r\ }

else if(buffer[0] == '4') {

C51单片机控制sim900a收发信息c语言程序.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4l78o9rshq5nrao1skmh_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top