尘世- 2023-04-03 19:34 采纳率: 80%
浏览 34
已结题

基于51单片机的蓝牙模块的数据传输(标签-51单片机)

#基于51单片机与HC04蓝牙模块的使用中在正确的数据的最后两位为固定的乱码在修改传输的位置上发现并无不同,传输的数据,是HC—SR04超声波模块(利用定时计数器获取的数据,在将其完全转化为整数后问题依旧存在修改输出位数后乱码有所变化)蓝牙模块的代码如下:

void transfer_HC04(uchar character)
{    
    SBUF=character;
    //UART_init();
    while(!TI);
    TI=0;
    Delay20us();
}
void  PostString(uchar*p)  
{  
        while(*p)         //若指针指向的地址为空,则跳出循环
        {  
            transfer_HC04(*p); //指针第一次默认指向首地址
            Delay20us();  //延时,作用为提高发送准确度
            p++;  
        }      
}
void IntConversionChar(uint number)
{
       uint model;    //模
       uint numberByte; //十进制数据不同位上的值
       number=value;
       for(model=10000;model>=1;model=model/10) //model的取值根据实际需要选择,选择过大会浪费资源
      {
            numberByte=number/model;    //相除取整
            //当取到整数数据的最高位时,将其加上0x30或者48并转为字符型后发送
           if(numberByte>=1)
           {
            transfer_HC04((uchar)(numberByte%10+0x30));
              //if(numberByte >=1 )transfer_HC04((unsigned char)(numberByte%10+48));
           }  
      }    
      transfer_HC04((uchar)(77));
      transfer_HC04((uchar)(77));
}

数据部分的代码如下:


     time=TH0*256+TL0;
     TH0=0;
     TL0=0;
     S=(time*1.7)/100;     //算出来是CM
     value=(time*1.7);

img

img


数据部分与LCD1602输出的数据相同,但是为什么会出现乱码呢,请帮忙看看谢谢

  • 写回答

2条回答 默认 最新

  • 丘比特惩罚陆 2023-04-04 08:35
    关注

    问题似乎出在IntConversionChar函数中,这个函数将一个整数值转换成字符串并传输到蓝牙模块上。在这个函数中,您使用了一个for循环来逐位处理整数值,并将每个数字转换为字符型后传输到蓝牙模块上。

    您提到在传输的数据的最后两位存在固定的乱码。根据您的代码,您在数据传输完成后,添加了两个固定值77,这可能是导致乱码的原因。建议您检查一下是否有必要添加这两个固定值。

    此外,在for循环中,您在处理整数值的最高位时,将其加上0x30或者48并转换为字符型后发送。建议您添加一个判断,如果整数值的最高位为0,不要将其转换为字符型后发送,而是跳过该位。这可能会导致一些输出位数上的变化,但可能会解决乱码问题。

    最后,建议您检查一下蓝牙模块的参数设置是否正确,例如波特率等,这可能也会导致数据传输出现问题。有用记得给个关注支持一下!!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月14日
  • 已采纳回答 4月6日
  • 创建了问题 4月3日

悬赏问题

  • ¥15 求指导ADS低噪放设计
  • ¥15 CARSIM前车变道设置
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存