stm32摇杆adc数据分析

stm32摇杆打印出 9D 08 00 00 9E 07 B5 07 A0 08 00 00 AC 07 C4 07 分析

好的,我们继续分析这串新的STM32摇杆数据。

1. 数据预处理(作为16位数据)

原始数据:
BC 0F 90 05 A2 07 BE 07 B7 0F 8C 05 A8 07 C8 07

按照小端模式将每2个字节组合成一个16位整数:

  • BC 0F -> 0x0FBC = 4028 (十进制)
  • 90 05 -> 0x0590 = 1424 (十进制)
  • A2 07 -> 0x07A2 = 1954 (十进制)
  • BE 07 -> 0x07BE = 1982 (十进制)
  • B7 0F -> 0x0FB7 = 4023 (十进制)
  • 8C 05 -> 0x058C = 1420 (十进制)
  • A8 07 -> 0x07A8 = 1960 (十进制)
  • C8 07 -> 0x07C8 = 1992 (十进制)

2. 数据分析

ADC范围观察:

  • 这组数据出现了两种明显不同的数值范围:
    • 高值范围:4028, 4023 (约4000+)
    • 低值范围:1424, 1420 (约1400+)
    • 中间范围:1954, 1982, 1960, 1992 (约1950-2000)

数据模式分析:

从数值分布来看,这很可能是两个摇杆的数据(每个摇杆有X轴和Y轴):

  • 第一个摇杆 :高值 + 低值 组合
    • (4028, 1424) - 摇杆1的(X, Y)
  • 第二个摇杆 :中间值 + 中间值 组合
    • (1954, 1982) - 摇杆2的(X, Y)
  • 第三个摇杆 :高值 + 低值 组合
    • (4023, 1420) - 摇杆1的新位置(X, Y)
  • 第四个摇杆 :中间值 + 中间值 组合
    • (1960, 1992) - 摇杆2的新位置(X, Y)

3. 摇杆状态解读

对于12位ADC(0-4095):

  • 中心值约在 2048 左右
  • 最小值接近 0
  • 最大值接近 4095

摇杆1的状态:

  • X轴:4028 ≈ 4095(接近最大值)- 摇杆推到最右边
  • Y轴:1424 ≈ 0(接近最小值)- 摇杆推到最下边
  • 这表明摇杆1被推到了右下角的极限位置

摇杆2的状态:

  • X轴:1954 ≈ 2048(略低于中心)- 接近中心偏左
  • Y轴:1982 ≈ 2048(略低于中心)- 接近中心偏下
  • 这表明摇杆2在中心位置附近轻微移动

4. 数据流时间序列分析

如果这是按时间顺序采集的数据:

复制代码
时间点1: 摇杆1(右下极限), 摇杆2(中心偏左下)
时间点2: 摇杆1(右下极限), 摇杆2(中心偏右下)

可以看到:

  • 摇杆1保持在右下极限位置基本不变
  • 摇杆2在中心位置附近有轻微移动

5. 结论

这组数据显示了两个摇杆的实时状态

  1. 摇杆1 :被用户推到了右下角极限位置并保持

    • X轴:接近最大值(4028/4023)
    • Y轴:接近最小值(1424/1420)
  2. 摇杆2 :在中心位置附近轻微晃动

    • X轴:1954 → 1960(基本稳定)
    • Y轴:1982 → 1992(轻微向下移动)

数据格式确认: 每组4个16位值代表两个摇杆的瞬时状态:
[摇杆1_X, 摇杆1_Y, 摇杆2_X, 摇杆2_Y]

这种模式在游戏手柄、遥控器等双摇杆设备中非常典型,第一个摇杆被大幅度操作,第二个摇杆只有微调操作。

相关推荐
灰子学技术14 小时前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
二十雨辰15 小时前
[python]-AI大模型
开发语言·人工智能·python
Yvonne爱编码15 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚15 小时前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂15 小时前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
pas13615 小时前
41-parse的实现原理&有限状态机
开发语言·前端·javascript
琹箐15 小时前
最大堆和最小堆 实现思路
java·开发语言·算法
Monly2116 小时前
Java:修改打包配置文件
java·开发语言
我命由我1234516 小时前
Android 广播 - 静态注册与动态注册对广播接收器实例创建的影响
android·java·开发语言·java-ee·android studio·android-studio·android runtime
island131416 小时前
CANN ops-nn 算子库深度解析:核心算子(如激活函数、归一化)的数值精度控制与内存高效实现
开发语言·人工智能·神经网络