型号G030,用的HAL库,在1%~99%区间因为有中断响应,处理下寄存器值,还是能采准脉宽的,问题是突然变低电平0%和高电平100%时,我用了两种方法:
第一种是检测到最后一次响应的边沿跳变来判断目前引脚上是高/低,可实测可能有干扰,高低会判断反掉;
第二种是计算脉宽的变化趋势,上升/下降,来判断引脚高/低,这种方法,脉冲变化慢点可以用,快速变化跟不上。
(当输入引脚没脉冲时,由于引脚控制寄存器配置为复用推挽,所以直接读IO口电平行不通)
特来请教,有没有好点的方法,或者有更简单的方法只是我没找到?请坛友们指点下 |