Android手机蓝牙与单片机通信数据格式问题

1.测试单片机发往串口发的数据格式是ASCII码。但是手机这边都是以字节流收的,所以尝试将字节流转成字符串,再将字符串转成整形。这样子是可以正确收到也可以画出波形,但是工作一段时间后应用程序就会崩溃。我一直以为是线程的问题,泪奔了几天。后来直接将字节流转成整形,就能正常工作了。

2.能正确收到数据了,好开森,但是画出的波形是花花的点。原因有两个:第一个是因为虽然能正确收到数据了,因为测试的时候发的数据是0到127内的,谁知道单片机发的是原码,手机收到后转成整形后是补码。第二个是因为单片机发的数据太快了,单片机串口波特率不够,导致点有丢失。

3.单片机发的太快会使画出来的波形断断续续,手机画的太慢会有横线。

4.单片机之前用的是msp430,是想偷懒一下,把忠义假期弄好的拿过来用,发现画出来的波形也是花花的。应该是ad采样点不够多,没有滤波。stm32 ad每次采样20个点,采用DMA传输,20个点放入数组后,进入DMA中断,进行滤波,这样重复200次后,将这200个数据发送发送到手机。

5.由于手机这边是采用点来画的,当频率比较高的时候,画出来的波形就是采样的那些点,看起来间隔比较大。所以我将200个变成1000个点。

6.下面这张图片是1khz的正弦波,是调整好后的。整体还有很多参数要调整。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值