51单片机与蓝牙模块通讯

傲娇小斑鸠 2017-10-16 06:06:13
我用单片机向蓝牙模块发送数据,蓝牙模块可以接受到数据但是用蓝牙模块向单片机发送数据单片机接收不到。
(PS:我用蓝牙模块通过串口直接向电脑直接发送和接受都是可以的)
...全文
541 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
LegendGrass 2017-10-26
  • 打赏
  • 举报
回复
直接AT命令,调好直接用
worldy 2017-10-17
  • 打赏
  • 举报
回复
void serial() interrupt 4 { if(RI) { RI = 0; P1 = SBUF; //串口数据读到P1口? //ES = 0; //禁止中断,让串口安心工作啊 SBUF = P1; //再把P1口数据发到串口? 什么逻辑啊? //while(!TI); //等待发送完毕 //TI = 0; //清TI中断 //ES = 1; //打开中断 } 什么乱七八糟的代码, char buf[20],Idx; char oBuf[20],oIdx=0; void serial() interrupt 4 { if(RI) { RI = 0; buf[idx++] = SBUF; //读入串口数据到缓冲区 //加入判断数据结束代码,并提交给主程序处理的逻辑 } else { TI=0; SBUF=oBuf[oIdx++]; } 主程序的某个位置,启动发送 //oBuf填充发送数据代码 ...... SBUF=oBuf[0] oIdx=1;
傲娇小斑鸠 2017-10-16
  • 打赏
  • 举报
回复
连线是没有问题的,我用串口从电脑直接往单片机里发数据是可以的,换蓝牙就不行了
傲娇小斑鸠 2017-10-16
  • 打赏
  • 举报
回复
这是我的单片机接受处理 void serial() interrupt 4 { if(RI) { RI = 0; P1 = SBUF; //ES = 0; //禁止中断,让串口安心工作啊 SBUF = P1; //while(!TI); //等待发送完毕 //TI = 0; //清TI中断 //ES = 1; //打开中断 } else { TI = 0; } }
大米粥哥哥 2017-10-16
  • 打赏
  • 举报
回复
1.硬件 串口连线是否正确 tx rx gnd 2.单片机接受到了数据 但没有正确处理
mc_li 2017-10-16
  • 打赏
  • 举报
回复
单片机内要做接受处理呀!

27,377

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧