App Inventor之蓝牙接收多字节数据

    xiaoxiao2025-08-03  20

    @这是第一次写博客哦~~

    下位机数据发送程序片段

    说明:下位机数据的采集主要是两个温度传感器与两个湿度传感器进行,数据采集完通过下列片段进行发送六个字节数据

    代码如下

    **while(1){ if(n % 10 == 0){//100ms读一次 Get_Ds1Value();//读18B20 Get_Ds2Value();//读18B20 value = temp * 0.0625 Dh1_ReadData(&dumi1); //读DHT11 Dh2_ReadData(&dumi2); //读DHT11 } delay_ms(10);//10ms n++; if(n == 50){//500ms发送一次数据 n = 0; GPIO_IF_LedToggle(MCU_RED_LED_GPIO); SendDataBuffer[2]=dumi1; SendDataBuffer[5]=dumi2; for(i=0;i<6;i++) UARTCharPut(UARTA1_BASE,SendDataBuffer[i]); delay_ms(300); } }**

    上位机蓝牙客户端接收

    如图所示 把接收的六个字节数据拆分为四个值显示在UI上 接收的六个字节数据如:

    AE 01 37 BE 01 45

    该数据一二位和四五位组成温度值 三和六位是湿度值

    用蓝牙客户端接受数组并把需要的数组拆分在显示在标签上,对于温度值第二位是高位,必须乘以16^2再加上第一位,既:

    两位接收的的数据: AE 01 最后的值=AE+01*16*16

    **有的还需要十六进制转换成十进制

    ************第一次分享压力好大。。。。。

    最新回复(0)