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]

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

相关推荐
superman超哥18 小时前
Rust 或模式(Or Patterns)的语法:多重匹配的优雅表达
开发语言·后端·rust·编程语言·rust或模式·or patterns·多重匹配
SmartRadio18 小时前
MK8000(UWB射频芯片)与DW1000的协议适配
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网·dw1000
guygg8818 小时前
基于捷联惯导与多普勒计程仪组合导航的MATLAB算法实现
开发语言·算法·matlab
froginwe1118 小时前
Rust 文件与 IO
开发语言
liulilittle18 小时前
LIBTCPIP 技术探秘(tun2sys-socket)
开发语言·网络·c++·信息与通信·通信·tun
yyy(十一月限定版)18 小时前
c++(3)类和对象(中)
java·开发语言·c++
落羽凉笙18 小时前
Python基础(4)| 玩转循环结构:for、while与嵌套循环全解析(附源码)
android·开发语言·python
ytttr87318 小时前
MATLAB的流体动力学与热传导模拟仿真实现
开发语言·matlab
山上三树19 小时前
详细介绍 C 语言中的 #define 宏定义
c语言·开发语言·算法
测试游记19 小时前
基于 FastGPT 的 LangChain.js + RAG 系统实现
开发语言·前端·javascript·langchain·ecmascript