【求助】关于使用ESP01S做直连手机TCP助手遇到的问题

博主在尝试使用ESP01S模块通过TCP连接与手机TCP助手进行通信时遇到问题,发送特定字节序列(T1T2T3T4)未收到单片机响应。已排除硬件故障,怀疑是程序代码存在错误。
摘要由CSDN通过智能技术生成
#include <reg52.h>             
#define uchar unsigned char  
#define uint  unsigned int     
  
sbit CS=P1^3;        //CS定义为P1口的第3位脚,连接ADC0832CS脚
sbit CLK=P1^4;        //CLK定义为P1口的第4位脚,连接ADC0832CLK脚
sbit DO=P1^5;        //DO定义为P1口的第5位脚,连接ADC0832DO和DI脚

sbit LED = P3^2;   //报警LED灯IO口定义

uchar shidu;     //定义湿度值 
uchar sd_high = 70,sd_low = 60;    //湿度初始参数

sbit dianji = P1^6;     //水泵IO口定义

uint flag_300ms ;     //定义300毫秒的变量
uchar key_can;         //按键值
uchar menu;        //功能菜单
uchar flag_en = 1;     //手动取消报警

sbit key1 = P3^3;        //按键1
sbit key2 = P3^4;        //按键2
sbit key3 = P3^5;        //按键3
 
bit sd_sd;    //手动模式

uchar Rxbuff[6],Rxnum;      //WIFI接收数据
uchar Tx_Buf[15];          //WIFI发送数据
bit  flag_s_en;              //WIFI接收完成的变量
 
sbit rs=P1^0;     //1602数据/命令选择引脚 H:数据          L:命令
sbit rw=P1^1;     //1602读写引脚             H:数据寄存器      L:指令寄存器
sbit e =P1^2;     //1602使能引脚          下降沿触发
 
void delay_uint(uint q)    //定义一个小延时
{
    while(q--);
}
void write_com(uchar com)
{
     rs=0;         //写命令
    rw=0;         //对1602写操作
    P0=com;         //P0口对1602写命令数据 
    delay_uint(25);
    e=1;         //e=1使能信号 
    delay_uint(100);   //延时一下等1602完成操作
    e=0;
}
void write_data(uchar dat)
{
     rs=1;         //写数据
    rw=0;         //对1602写操作
    P0=dat;          //P0口对1602写数据 
    delay_uint(25);
    e=1;         //使能信号 
    delay_uint(100);   //延时等1602完成操作
    e=0;    
}

void write_lcd2(uchar hang,uchar add,uint date)
{
    if(hang==1)   
        write_com(0x80+add);       //1602写第一行的地址 
    else
        write_com(0x80+0x40+add);  //1602写第二行的地址 
    write_data(0x30+date/10%10);    //十位数
    write_data(0x30+date%10);       //个位数
}

void write_string(uchar hang,uchar add,uchar *p)
{
    if(hang==1)   
        write_com(0x80+add);       //1602第一行的地址 
    else
        write_com(0x80+0x40+add);   //1602第二行的地址 
    while(1)                                                         
    {
        if(*p == '\0')  break;    //\0字符串的结尾标志  break结束while循环 结束写字符
        write_data(*p);        //写数据 
        p++;       
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值