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

loading 分享 2026-9-1 下载文档

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文档下载到电脑
搜索更多关于: C51单片机控制sim900a收发信息c语言程序 的文档
相关推荐
相关阅读