首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取GPIO中有噪声的数据

读取GPIO中有噪声的数据
EN

Stack Overflow用户
提问于 2016-05-23 06:15:17
回答 1查看 95关注 0票数 0

在一个针对FreeRTOS/ARM的嵌入式编程项目中,我尝试在一个噪声GPIO信号上读取24位数据。空载时,信号存在大量随机噪声;在实际数据中,噪声被抑制,只有信号数据被读取。数据信号由300 is高(1)和31x300 is低(0)的前导信号组成,然后每个比特1是900 is高和300 is低,0位是300 is低,然后是900 is高。

我使用一个简单的紧密的GPIO读取循环进行测量,该循环显示300 an的平均388次读取。

因此,我试图用+/- 15读的感应器来计算我的读数,以确定我是用状态机读取前导还是后面的位。但我不能检测到任何前导或数据。我怀疑,与简单的测量回路相比,在实际读取代码中增加代码,即使不是太复杂,也会导致不同的读取频率。读取这些数据的正确方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-27 17:13:35

我想出来了。这个方法很好。问题是

  1. 即使它是一个RTOS,尝试在I/O循环期间在控制台上打印调试信息是没有-否的,即使很少打印数据;它会很快地干扰时间。一旦删除了循环中的调试输出,它就可以正常工作了。
  2. 短信号和长信号之间的相对定时是正确的,但精确的定时仍然会有很大的差异(即使在删除调试输出之后)。在我的例子中,短时间跨度可以从180到288读。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37383738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档