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:被用户推到了右下角极限位置并保持
- X轴:接近最大值(4028/4023)
- Y轴:接近最小值(1424/1420)
-
摇杆2:在中心位置附近轻微晃动
- X轴:1954 → 1960(基本稳定)
- Y轴:1982 → 1992(轻微向下移动)
数据格式确认: 每组4个16位值代表两个摇杆的瞬时状态:
[摇杆1_X, 摇杆1_Y, 摇杆2_X, 摇杆2_Y]
这种模式在游戏手柄、遥控器等双摇杆设备中非常典型,第一个摇杆被大幅度操作,第二个摇杆只有微调操作。