完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我有多个输入,我需要去抖。所有输入由GPIO中断上升沿测量。我基本上是在计算正边(或脉冲)来决定频率。我已经实现了一个借记器,它为10个州输入数据并输出一个去抖值。我的问题是它不会精确地消除。有什么帮助吗? 这是我的ISR子程序: CysISR(PotoZoISISR){UInt8i,j;状态[index ]=PotoZoo-IntStA&;(0x07U&L&L.PotZooLoSHIFT);+= index;j=0xFF;(i=0;I & lt;10;i++)j=j&P;状态;DbnEndoStid= j;If(DeBeNedeStAt==0x01)频率计数器+;如果(index & gt;= 10)索引=0;//清除未决中断ISRXPARTZOORIOX CUBLIN();/ /清除PIN NTRTRUT PORTZORO OULL SUBSTATION(); } 谢谢您, 里克 以上来自于百度翻译 以下为原文 Hello, I have multiple inputs I need to debounce. All inputs are measured by GPIO Interrupt rising edge. I'm essentially counting the positive edges (or pulses) to determine the frequency. I have implemented a debouncer that takes in data for 10 states and outputs a debounced value. My problem is that it does not debounce accurately. Any help? Here is my ISR subroutine: CY_ISR(PortZeroISR){ uint8 i,j; State[Index] = PortZero_INTSTAT & (0x07u << PortZero_SHIFT); ++Index; j=0xFF; for(i=0; i<10 ;i++) j = j & State; Debounced_state = j; if(Debounced_state == 0x01) FrequencyCounter++; if(Index >= 10) Index = 0; // Clear Pending Interrupt isr_PortZero_ClearPending(); // Clear Pin I nterrupt PortZero_ClearInterrupt(); } Thank you, Rick |
|
相关推荐
7个回答
|
|
我看不到流量传感器上的噪音,只有雨水传感器。雨传感器噪声范围为1-2MS。
里克 以上来自于百度翻译 以下为原文 I dont see the noise on the flow sensors only the rain sensor. Rain sensor noise ranges from 1-2ms. Rick |
|
|
|
你用的是微型传感器用于草坪的雨水传感器吗?你应该用卡彭斯来测量雨。你也可以在PC板上画线图案,检查电阻的变化。
以上来自于百度翻译 以下为原文 Are you using the Rain sensors that they use for lawns with the micro switch? You should use CapSense to measure the rain. You can also make a pattern of lines on a pc board and check for a change in resistance. |
|
|
|
|
|
|
|
这是CasSoice设计指南。
01-35951,AN8951,PSoCoLo.4S1和ApPoSoCl类比协处理器 7.1兆字节 以上来自于百度翻译 以下为原文 Here is the CapSense design guide. |
|
|
|
嗨,Bobgear,
谢谢你的建议,但我已经在使用翻斗了。桶尖和发出脉冲到微,但有一些噪音涉及。我想用计时器中断来消除这个问题。 里克 以上来自于百度翻译 以下为原文 Hi Bobgear, Thanks for the advice but I am already using a tipping bucket. The bucket tips and sends out a pulse to the micro but there is some noise involved. I want to debounce this using a timer interrupt. Rick |
|
|
|
这两者之间是有区别的“噪声”和“跳跃”,需要不同的行为。
数字噪声可以取消使用磁滞比较器,采用模拟噪声(软件)滤波器(平均)。 跳动的是数字信号,介绍了切换两个状态对于一个给定的时间直到达到稳定状态。 德弹跳只能等待反弹时间到期并重新读取数字状态。由于反弹出现在开关的动作,都必须由算法求解。 那么你的“噪音”和“弹跳”信号是什么? 鲍勃 以上来自于百度翻译 以下为原文 There is a difference between "noise" and "bouncing" which require different actions. Digital noise can be canceled using a comparator with hysteresis, analog noise by using a (software) filter (averaging). Bouncing is for digital signals only and describes the switching between two states for a given time until a steady state is reached. De-bouncing can be made only by waiting for the bouncing time to expire and re-read the digital state. Since bouncing appears at switching on and switching off, both actions have to be solved by the algorithm. So what are your "noise" and "bouncing" signals? Bob |
|
|
|
这里是一个电路,您只需要将这些组件添加到您的项目中。
以上来自于百度翻译 以下为原文 Here is a circuit you just need to add these components on to your project. |
|
|
|
只有小组成员才能发言,加入小组>>
745个成员聚集在这个小组
加入小组2021 浏览 1 评论
1779 浏览 1 评论
3577 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1712 浏览 6 评论
1477 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
412浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
291浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
372浏览 2评论
312浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
526浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-12 17:11 , Processed in 0.962970 second(s), Total 91, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号