单片机-蓝牙串口问题,手机数据不接收

问题描述

蓝牙串口问题,手机数据不接收

我用的是51单片机上的教程 输入 字符X 会显示 I GET X。
然后我用单片机和电脑相连 输入1 串口助手会显示i get 1 。
我再用蓝牙模块直接和电脑相连 手机连接蓝牙,手机输入1串口助手显示1。证明手机发数据蓝牙能接收。

我再将单片机和蓝牙模块相连,手机连上蓝牙,手机输入1,电脑串口助手没反应,求解这是什么问题呀!
谢谢大家!STC89C52
#include
#define uchar unsigned char
#define uint unsigned int
unsigned char flag,a,i;
uchar code table[]="I get ";

void init()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
}
void main()
{
init();
while(1)
{
if(flag==1)
{
ES=0;
for(i=0;i<6;i++)
{
SBUF=table[i];
while(!TI);
TI=0;
}
SBUF=a;
while(!TI);
TI=0;
ES=1;
flag=0;
}
}
}

void ser() interrupt 4
{
RI=0;
a=SBUF;
flag=1;
}

这是程序

解决方案

你的单片机和电脑也用串口连接在一起?你的串口不是蓝牙模块占用了?

时间: 2024-09-08 19:16:52

单片机-蓝牙串口问题,手机数据不接收的相关文章

ble-安卓蓝牙BLE只能发送数据,不能接收数据,求教求教!

问题描述 安卓蓝牙BLE只能发送数据,不能接收数据,求教求教! 用的QN9021蓝牙模块,串口助手监控: 找到能够发送数据的characteristic,发送数据,串口助手收到数据 串口助手发送数据,接收数据总是null或者0,接收不到数据 所有的characteristic都试过了,还是不能读到数据,十分困惑,求教!!! 解决方案 https://segmentfault.com/q/1010000004363789 解决方案二: 1 能获取到有效特征值,并有读写权限,软硬件操作同一个特征值,

串口通信-android蓝牙串口接收数据

问题描述 android蓝牙串口接收数据 最近在做android手机蓝牙和单片机通信,一直被接收数据完整性这个问题困扰. 为了使一次通信的包保持完整,我就构思了发送12位的包,包头(1)+数据(8)+校验(2)+包尾(1),校验为求和校验.单片机发送数据的函数如下 void SendString(uchar *dat) //发送12位的包 包头(1)+数据(8)+校验(2)+包尾(1) { uchar i,j; uint check=0; //求和校验 SendChar(0x01); //0x0

手机应用怎么接收蓝牙设备发送出来的数据?如体温计,血压计?有串口,该怎么实现?哪位大神指导一下思路?

问题描述 手机应用怎么接收蓝牙设备发送出来的数据?如体温计,血压计?有串口,该怎么实现?哪位大神指导一下思路? 哪位大神指导一下该如何通过蓝牙串口接收蓝牙设备传输的数据?如体温计,血压计等蓝牙硬件设备 解决方案 蓝牙设备相当于网络通讯,但是不同的设备有自己不同的协议,需要看对应的手册. 串口比较简单,用串口调试助手之类的工具看下,就可以搞清楚协议.手机本身没有串口,需要用pc转发. 建议你连传感器连下位机都自己设计.

android应用-蓝牙串口通信数据接收问题

问题描述 蓝牙串口通信数据接收问题 各位高人,我在做一个关于蓝牙串口通信的项目,现在涉及到接收返回的数据并进行处理. 现在的问题是数据总是接收不全.接收的数据有两种格式,1.以F2或F5开头的三个字节的 数据.2 是以F1 开头的12个字节的数据.以下是我接收的数据 03-12 14:08:03.214: D/BluetoothService(31197): --buffer.length is: 12. InStream.read() buffer is: f12140001000000304

51单片机串口通信-手机如何通过蓝牙透传模块HC-05控制51单片机STC89C52上一个led灯的亮灭?

问题描述 手机如何通过蓝牙透传模块HC-05控制51单片机STC89C52上一个led灯的亮灭? 需要先往单片机里下载什么源程序(串口程序)吗?...如果有知道的,请不吝赐教,万分感谢 解决方案 波特率调好,在设置单片机的串口通信读取就好.需要代码我可以发给你

串口通信-android手机蓝牙与单片机+蓝牙模块通信

问题描述 android手机蓝牙与单片机+蓝牙模块通信 目前状况是这样的: 1.单片机TxD RxD与PL2303转usb 能收发 2.蓝牙模块TxD RxD+PL2303转usb与手机蓝牙 能收发 3.单片机TxD RxD+蓝牙模块RxD TxD与手机蓝牙 只能收不能发 电路查了又查,单片机和app的程序改了又改,在第三点里连最简单的一个字符都收不到,前面两点进行长字符串传输毫无问题.现在求大神给个思路. 补充一下,第三点是APP能完美地收到字符,字符串,但是从手机蓝牙发出去的消息完全不能被单

求大咖指点-两块stc12c5a60s2单片机通过两块蓝牙模块HC05进行数据接受,是怎么编程实现的呢?

问题描述 两块stc12c5a60s2单片机通过两块蓝牙模块HC05进行数据接受,是怎么编程实现的呢? 用两块蓝牙模块进行数据透传,主单片机将数据传给主蓝牙模块,从蓝牙模块接受到主模块 数据后传给从机并显示数据. 解决方案 这个要读HC05特定功能时序图,设置好控制寄存器之后,按时序图的规定实现.参见HC05的Datasheet. 解决方案二: 分别60S2的TX和RX接上一个HC05的RX和TX,然后把蓝牙当串口发送和接收就可以了,还有不懂可以追问

android 蓝牙编程重点---如何发送和接收16进制数据

与蓝牙模块通信最重要的地方就是数据的发送和接收,因为是底层的操作,所以更多是发送16进制数据. 进制转换是我们程序员的必修课,属于基本素质.这里需要的是将字节数组转化为16进制字符串,方法都是通用的: public static String bytesToHexString(byte[] bytes) { String result = ""; for (int i = 0; i < bytes.length; i++) { String hexString = Integer

tcpsocket-android 怎么把手机作为服务器接收显示数据

问题描述 android 怎么把手机作为服务器接收显示数据 android 用TcpSocket怎么把手机作为服务器接收显示来自另一台手机的客户端的消息 解决方案 这个应该涉及到手机之间的通信吧 解决方案二: Android 手机做服务器也是可以的,但手机一般没有固定的公网 IP.所以,如果做服务器有一定的难度!如果 IP 的问题解决了,就是一般的 TCP 通讯.