stm32 读取计算机屏幕,STM32F103读取原始数据,上位机显示(附上微机和程序源码)...

出现的几个问题总结:

1,printf 函数    蛋疼了,刚开始没有注意这个,导致一直输出错误的格式。

printf("%c",0xA5);//输出A5的16进制A5

printf("%f",0xA5);// 输出A5的ASCIC的形式61

附上一些格式:

347e465d5de7adbaa283d514caa3ba8b.png

2  MPU6050 输出数值的理解:

PU6050数据是16位的数。它属于int16类型,即数据范围是-32768 到 32767。 正数范围是0-7FFF(0-32767), 负数范围是(1000-FFFF).

计算机中,负数是以补码的形式来表示的。什么叫补码呢?给大家复习下数学,首先百度下:

1)使用补码的目的:可以将符号位和其它位统一处理;同时,减法也可按加法来处理

2)正数的补码和原码相同

3) 负数的补码等于其符号位不变,数值部分的各位取反,然后整个数加1

那么,当你得到MPU6050的数据的时候,如果是: FFFF,那么代表多少呢?

>>符号位不变,数值部分的各位取反, 变成8000,然后整个数加1,变成8001, 即-1.

如果是: FF00,那么代表多少呢?

>>符号位不变,数值部分的各位取反, 变成80FF,然后整个数加1,变成8100, 即-256.

有的程序直接输出 0-65536 其对应关系以加速度为例是:

0   16384    32767       32768       49152  65536

0g     1g        2g             -2g           -1g         0g

3,程序输出到上位机上面如图所示:

14cf1a50f07ff0eabc0f179ef8d5f807.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值