HC06蓝牙模块向单片机发送的数据不符合ASCII码

我用HC06与计算机相连,用手机蓝牙发送数据给蓝牙模块,用计算机的串口调试助手观察收到的数据的确是我发送的数据,但是,我用HC06蓝牙模块与51单片机串口通信的时候发送的... 我用HC06与计算机相连,用手机蓝牙发送数据给蓝牙模块,用计算机的串口调试助手观察收到的数据的确是我发送的数据,但是,我用HC06蓝牙模块与51单片机串口通信的时候发送的数据和收到的数据不符合ASCII码,有一定的偏移量,比如说我发送“A”给计算机,计算机显示为“A”或者0x41,发送“A”给与单片机相连的蓝牙模块,收到的数据让LED灯显示却是二进制10000001,ASCII码应该是01000001,这是为什么? 展开
 我来答
百度网友4884402e0
2013-07-08 · 超过19用户采纳过TA的回答
知道答主
回答量:53
采纳率:100%
帮助的人:52.6万
展开全部
这样的,蓝牙是以16进制输送8位数据的,你在单片机的程序有没有设定好?例如,波特率(模块默认9600),还有校正位,奇or偶 校正?还有你的程序的中断符合了发送协议没?
更多追问追答
追问
这个我试了一下,在电脑上串口调试助手上可以设置波特率和数据传送格式,我选的是9600波特率,8位数据位,无校验,停止位为1,符合51单片机串口通信模式1,电脑串口调试助手在这种模式下也可以正确接收数据,在换了波特率后就接收错误了,因此我51单片机也设置了串口通信模式1和9600波特率,这点应该是没错。另外你说的程序的中断的发送协议是什么意思,不是特别理解,希望能解释一下谢谢~
追答
我说的中断就是你是接受完一个字节后有没有触发中断服务?我做的是AVR和51差不多,我上次就是忘了添加中断服务程序而导致接受出错。你的情况很大可能就是程序没写对。你的通信模式1中用到的中断都要写在程序里面。看了你的程序,没有添加中断服务程序。
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
TLX741203
2013-07-08
知道答主
回答量:20
采纳率:0%
帮助的人:7.3万
展开全部
应该发送格式与接收格式不符合。
追问
请问如何查看或者设置发送或者接收格式?是不是改一下单片机串口通信的模式就可以匹配?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小王阿左
2014-02-13
知道答主
回答量:2
采纳率:0%
帮助的人:2.5万
展开全部
你好我遇到跟你一样的问题,也是SBUF读出的数值有偏差,不知道楼主解决没有,麻烦分享下~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友283d78e
2013-07-08 · 知道合伙人IT服务行家
百度网友283d78e
知道合伙人IT服务行家
采纳数:1491 获赞数:2982

向TA提问 私信TA
展开全部
不是单片机的问题,估计是晶振或者单片机设置的问题吧
更多追问追答
追问
请问那应该如何设置单片机?是改一下串口通信的模式吗?波特率设置的都是一样的
追答
用的晶振是多少,代码呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式