标题:
esp8266与51单片机通信遇到一些问题
[打印本页]
作者:
ccckkk
时间:
2018-6-21 00:47
标题:
esp8266与51单片机通信遇到一些问题
用的51是普众科技的开发版,esp8266波特率也调到4800.RX,TX等链接正常。
程序如下希望大神能帮我看看
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void delay1ms(void) //误差 0us
{ unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=142;b>0;b--)
for(a=2;a>0;a--);}
void sendByte(uchar b) //发送一个字节
{ SBUF = b; while(!TI); TI=0;}
//发送字符串
void sendString(uchar *s){
while(*s != '\0') //字符串默认 结尾'\0',以此来判断字符串的结束
{ sendByte(*s); s++; }}
//初始化ESP8266WiFi模块
void initEsp(){ uint a; SCON = 0x50; //8位数据,可变波特率
TMOD = 0x20; //设置定时器1工作方式2
TL1 = 0xf3; //设置定时器初值,波特率为4800
TH1 = 0xf3;
ET1 = 0; //禁止定时器1中断
ES=1; //打开接收中断
TR1 = 1; //启动定时器1
EA = 1;
for (a=0; a<50000; a++); //延时几秒,让模块有时间启动
sendString("AT+CWMODE=1\n");
for (a=0; a<50000; a++); //延时几秒,让模块有时间启动
sendString("AT+RST\n"); //重启生效
for (a=0; a<50000; a++); sendString("AT+CIPMUX=1\n"); //启动多连接 for (a=0; a<20000; a++); sendString("AT+CIPSERVER=1,333\n");//建立server,端口为333
for (a=0; a<20000; a++); sendString("AT+CIPSTO=50\n"); //服务器超时时间设置
RI=0;
ES=1; //初始化完成,串行口中断打开}
void Datatransfer ()
{ uint a;
SCON = 0x50; //8位数据,可变波特率
TMOD = 0x20; //设置定时器1位16位自动重装模式
TL1 = 0xf3; //设置定时器初值,波特率为4800
TH1 = 0xf3;
ET1 = 0; //禁止定时器1中断
ES=1; //打开接收中断 TR1 = 1; //启动定时器1
EA = 1;
for (a=0; a<20000; a++); sendString("AT+CIPSTART=0,'TCP','192.168.4.2',5000\n");//建立server,端口为333
for (a=0; a<20000; a++); sendString("AT+CIPSEND=0,19\n");//确定发送的长度
for (a=0; a<20000; a++);
sendString("Sent to the Android\n");//确定发送的数据
RI=0;
ES=1; //初始化完成,串行口中断打开 }
//主函数
void main()
{ initEsp();
while(1){ delay1ms() ;
Datatransfer () ; } }
希望能得到大家的帮助,谢谢
作者:
zhanghyg
时间:
2018-6-21 08:26
遇到啥问题说清楚啊
作者:
zsyzdx
时间:
2018-6-21 08:43
波特率调到9600试试!!!!!!!!!!!!
作者:
ccckkk
时间:
2018-6-21 09:22
就是通信失败,手机app检测不到WiFi模块发的信息,之前用串口助手能收到,是不是我C程序有什么问题?
作者:
小猫猫爱吃鱼
时间:
2018-6-23 14:55
你好!看我头像,帮你处理一下
作者:
ccckkk
时间:
2018-6-25 20:10
zhanghyg 发表于 2018-6-21 08:26
遇到啥问题说清楚啊
不好意思,第一次发问题没有描述清楚,就是我的51单片机和WiFi模块串口通信失败,如果成功我是能在手机app上收到一个信息,之前在电脑上的串口助手上面实现了。WiFi模块的指令语句就是字符串也没有问题,rx tx连接也对,我想让问问是不是程序哪里不对了,谢谢您了
作者:
nameligang
时间:
2018-6-25 22:19
你最好是通过串口把单片机收到的内容显示出来 看看到底有没有收到数据或者是什么样的数据。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1