在FreeRTOS / ARM的嵌入式编程项目中,我尝试在噪声GPIO信号上读取24位数据。闲置时,信号有很多随机噪声;在实际数据期间,噪声被抑制,只有信号数据被读取。数据信号由300us HIGH(1)和31x300us LOW(0)的前同步码组成,然后每个位1为900us HIGH和300us LOW,位0为300us LOW,接着是900us HIGH。
我使用一个简单的紧密GPIO读取循环进行了测量,该循环显示300us中平均388个读数。
所以我试图计算我的读数,读数为+/- 15,读数为HIGH和LOW,并确定我是否使用状态机读取前导码或后续位。但我无法检测到任何序言或数据。我怀疑实际阅读代码中的附加代码即使不太复杂,与简单的测量循环相比也会导致不同的读取频率。阅读此类数据的正确方法是什么?
答案 0 :(得分:0)