OpenEdv-开源电子网

标题: stm32接收手机里的蓝牙串口助手发送过来的数据的问题 [打印本页]

作者: 烧年    时间: 2013-12-9 18:48
标题: stm32接收手机里的蓝牙串口助手发送过来的数据的问题
我做了stm32通过蓝牙串口助手跟手机进行通信的实验,相互接收发送都没问题,我想问的是:如果通过手机蓝牙串口助手发送过来一段数据,比如发送为“3045”,单片机则是一个一个字节接收过来的,然后存储在一个数组buf[]里面,把这个数组显示在lcd上当然可以显示为“3045”,但我想把buf[0]和buf[1]组合起来赋给一个变量,把buf[2]和buf[3]组合起来赋给另一个变量,也就是说我想把“30”赋给一个变量即a=30,把“45”赋给另一个变量即b=45。这编程应该怎么实现?主要是怎么组合起来?还是我的方法错了?因为我想把这两个数据作为两个舵机要旋转的角度来实现手机控制舵机的旋转的位置。请各位帮忙指点!!!
作者: 正点原子    时间: 2013-12-9 19:15
回复【楼主位】烧年:
---------------------------------
这不难啊,自己组合下就可以了.
就是ASCII转成数字的问题.

ASCII的'0'=数字30.
所以,如果你发送的是"3045",存放在buf[0]~buf[3]
就很好做.
a=(buf[0]-'0')*10+buf[1]-'0';
a就等于30了.
作者: 烧年    时间: 2013-12-9 19:39
回复【2楼】正点原子:
---------------------------------
谢谢,我先按你的意思试试!!
作者: 烧年    时间: 2013-12-9 19:56
回复【2楼】正点原子:
---------------------------------
“ASCII的'0'=数字30.” 这句话是什么意思啊?
作者: 正点原子    时间: 2013-12-10 23:39
回复【4楼】烧年:
---------------------------------
百度ASCII。学习下先。
作者: 怪物咕吧    时间: 2017-7-18 17:36
我现在也特别想知道,那个buf数组不能用return返回吗?还有控制舵机位置的那部分具体代码
作者: arao和xiaomi    时间: 2017-8-27 11:34
你好,你的程序能借给参考一下吗?




欢迎光临 OpenEdv-开源电子网 (http://47.111.11.73/) Powered by Discuz! X3.4