如何从蓝牙模块中读取数据C语言程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从蓝牙模块中读取数据C语言程序相关的知识,希望对你有一定的参考价值。

#include<reg52.h>
char posit,shu;
bit flag;
unsigned char const discode[] = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f/*-*/;
unsigned char const positon[3]= 0xdf,0xef,0xf7;
unsigned char disbuff[4] = 0,0,0,0,;
/*P1为数据口,p2.3/4/5为位选*/
/********************************************************/
void Display(void) //扫描数码管

if(shu>100)shu=0;;
if(posit==0)
P1=(discode[disbuff[posit]])&0x7f;
else
P1=discode[disbuff[posit]];
P2=positon[posit];
if(++posit>=3)
posit=0;

/********************************************************/
void init()

TMOD=0x20;
TH1=TL1=0xfd;
TR1=REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
flag=0;
disbuff[0]=0;
disbuff[1]=0;
disbuff[2]=0;

void main()

init();
while(1)

if(flag==1)

ES=0;
disbuff[0]=shu/100;
disbuff[1]=shu%100/10;
disbuff[2]=shu%10;
ES=1;
flag=0;

Display();


void ss() interrupt 4

RI=0;
shu=SBUF;
flag=1;

从数码管显示来看为乱码,这是为什么啊?菜鸟新人求大神解答。
我用手机发了一个21但数码管全乱了。。

    能否简要描述下你的硬件

    你可以先试一下你的程序能否正常显示,先预置一个shu=8;

追问

为了排除显示错误,我用最笨的方法检测了一下,没问题,发现是shu=sbuf读取的数值出问题了。这个读出的数值是8位的还是16位的?

追答

8位,预置一个shu=8;的有显示没?

追问

后来查了一下资料解决了,谢谢啊。

参考技术A 请问是怎么解决的,我最近也在弄蓝牙模块耍,但手机发过去,没反映?

以上是关于如何从蓝牙模块中读取数据C语言程序的主要内容,如果未能解决你的问题,请参考以下文章

通过蓝牙将数据从Arduino发送到Java程序

C语言中如何将文件中的数据读取到链表中

如何在 iOS 应用程序中从蓝牙 LE 设备获取通知

C语言中,如何实现从文件中读取数据(大量的数据)后,在循环体中使用,每次传递3个值到数组。

c#语言中,如何读取SHP文件?

Android通过JNI实现与C语言的串口通讯操作蓝牙硬件模块