找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1487|回复: 1
收起左侧

单片机+蓝牙模块传输返回乱码

[复制链接]
ID:827263 发表于 2021-5-8 20:49 | 显示全部楼层 |阅读模式
我通过蓝牙串口软件给单片机传输数字,返回输入值却出现乱码,这是为什么呢?通讯频率也没问题,字符集是utf-8,我是不太清楚51单片机内部数据怎么运算的,按理说        receiveData=SBUF;
        RI=0;
        SBUF=receiveData;
这一步写的也没错,前后脚变量都没变怎么就不行了呢?

单片机程序如下
#include <reg52.h>
#define LED P2
typedef unsigned int u16;
typedef unsigned char u8;
u8 receiveData;
void set_put();
void UsartInit() //初始化
{
        SCON=0X50;               
        TMOD=0X20;        
        PCON=0X80;        
        TH1=0XFD;               
        TL1=0XFD;
        ES=1;        
        EA=1;               
        TR1=1;
}
void main() //主函数
{        
        UsartInit();
        while(1);               
}

void Usart() interrupt 4//串口中断
{
        receiveData=SBUF;
        RI=0;
        SBUF=receiveData;
        while(!TI);
        TI=0;
  set_put();
}
void  set_put() //数据处理
{
                        switch(receiveData)
                {
                        case('A'):LED=0xaa;break;//前进
                        case('B'):LED=0x99;break;//右转
                        case('C'):LED=0x55;break;//后退
                        case('D'):LED=0x66;break;//左转
                        case('E'):LED=0xff;break;//停止
                        default:break;
                }
}

这个是十六位的时候的返回值

这个是十六位的时候的返回值
Screenshot_20210508-204207_BlueSPP.jpg
Screenshot_20210508-204025_BlueSPP.jpg
回复

使用道具 举报

ID:569384 发表于 2021-5-9 09:58 | 显示全部楼层
换字符集,逐个试试就知道了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表