找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2669|回复: 6
打印 上一主题 下一主题
收起左侧

esp8266与51单片机通信遇到一些问题

[复制链接]
跳转到指定楼层
楼主
ID:335695 发表于 2018-6-21 00:47 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的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 ()        ;  } }      
希望能得到大家的帮助,谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:330198 发表于 2018-6-21 08:26 | 只看该作者
遇到啥问题说清楚啊
回复

使用道具 举报

板凳
ID:320306 发表于 2018-6-21 08:43 | 只看该作者
波特率调到9600试试!!!!!!!!!!!!
回复

使用道具 举报

地板
ID:335695 发表于 2018-6-21 09:22 来自手机 | 只看该作者
就是通信失败,手机app检测不到WiFi模块发的信息,之前用串口助手能收到,是不是我C程序有什么问题?
回复

使用道具 举报

5#
ID:303383 发表于 2018-6-23 14:55 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

6#
ID:335695 发表于 2018-6-25 20:10 来自手机 | 只看该作者
zhanghyg 发表于 2018-6-21 08:26
遇到啥问题说清楚啊

不好意思,第一次发问题没有描述清楚,就是我的51单片机和WiFi模块串口通信失败,如果成功我是能在手机app上收到一个信息,之前在电脑上的串口助手上面实现了。WiFi模块的指令语句就是字符串也没有问题,rx tx连接也对,我想让问问是不是程序哪里不对了,谢谢您了
回复

使用道具 举报

7#
ID:120108 发表于 2018-6-25 22:19 | 只看该作者
你最好是通过串口把单片机收到的内容显示出来 看看到底有没有收到数据或者是什么样的数据。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表