新唐的IC有de-bounde功能,例如打开某个GPIO de-bounce 20ms,是否意味着在20ms内会连续不断的扫描GPIO,在此时间间,如果扫描到有一次不满足触发条件就认为是抖动?
例如设置成 E_IO_FALLING 触发,则必须GPIO电平保持0,20ms ?
下面为新唐手册关于de-bounce的说明
IMD[n] 用来控制中断是边沿触发还是电平触发.如果中断是边沿触发,DEBN寄存器将用于控制输入信号的de-bounce. 如果中断是电平触发,输入源在一个时钟内被采样到,就将触发中断.
0 = 边沿触发中断.
1 = 电平触发中断.
如果设定引脚中断为电平触发,则寄存器Px_IEN中只有一种电平可以设定. 如果设定两个高/低电平都触发中断,设定无效,将没有中断发生.
de-bounce 功能只在边沿触发时才有效. 如果中断触发模式是电平触发,de-bounce使能位将被忽略.
|