我正在将 MIDI 消息发送到带有 LCD 屏幕的专有唱盘。普通软件通过 MIDI SysEx 发送更新以在 LCD 上显示当前速度。MIDI 正在 MKL25Z128VLK4、Cortex-M0+/ARMv6-M 设备上接收。(我确实在挖掘了它所使用的芯片类型的内脏之后拆卸了固件 .bin,但结果是大约 30k 行组装)如果不拆焊就无法访问 LCD 型号
在这一点上,我可以成功更新屏幕,但我无法从给定的数字中找出模式,我希望其他人有这方面的经验。
这是我迄今为止发现的:
将单个字节设置为 9-126 之间的任何值会导致 00.0
BPM B1 B2 B3 B4
00.0 0 0 0 0
00.0 0 0 0 1
00.0 0 0 0 2
00.0 0 0 0 3
00.0 0 0 0 4
00.0 0 0 0 5
00.0 0 0 0 6
00.0 0 0 0 7
00.0 0 0 0 8
00.0 0 0 0 16
00.0 0 0 0 32
00.0 0 0 0 64
00.1 0 0 0 127
00.1 0 0 1 0
00.3 0 0 2 0
00.4 0 0 3 0
00.6 0 0 4 0
00.8 0 0 5 0
00.9 0 0 6 0
01.1 0 0 7 0
01.2 0 0 8 0
00.0 0 0 16 0
00.0 0 0 32 0
00.0 0 0 64 0
02.4 0 0 127 0
02.5 0 1 0 0
05.1 0 2 0 0
07.6 0 3 0 0
10.2 0 4 0 0
12.8 0 5 0 0
16.3 0 6 0 0
17.9 0 7 0 0
20.4 0 8 0 0
00.0 0 16 0 0
00.0 0 32 0 0
00.0 0 64 0 0
38.4 0 127 0 0
40.9 1 0 0 0
81.9 2 0 0 0
122.8 3 0 0 0
163.8 4 0 0 0
204.8 5 0 0 0
245.7 6 0 0 0
286.7 7 0 0 0
327.6 8 0 0 0
00.0 16 0 0 0
00.0 32 0 0 0
00.0 64 0 0 0
614.4 127 0 0 0
打开多个字节将它们加在一起有时会产生奇怪的结果
40.9 1 0 0 0
00.1 0 0 1 0
41.1 1 0 1 0
81.9 2 0 0 0
00.1 0 0 1 0
82.0 2 0 1 0
我想知道是否有一些我不太熟悉的浮点或按位数学,如果是的话,用于计算的实数和数据类型是什么?我觉得理解这一点对于解决这个问题至关重要,而无需大量查找表或将其分解并编写我自己的控制器