AB1601继电器干扰问题
生活随笔
收集整理的这篇文章主要介绍了
AB1601继电器干扰问题
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
当给继电器线圈供电时,控制蜂鸣器的io口有时候无法正确开关。不给继电器线圈供电,就没问题。
进一步测试发现不是干扰问题,是程序方面的问题。1601的所有gpio口共用同一个输出控制寄存器,在中断中有写gpio口的操作,sdk的接口函数也没有做任何针对性处理,导致
写寄存器冲突。在gpio口接口函数中加入临界区保护机制,问题解决。
代码如下:
void DRV_Gpio_ValSet(uint32_t pins_mask, bool is_one)
{
ndis_enter_critical();//临界区保护机制
if(is_one)
IOMUX.GPIO.reg |= pins_mask;
else
IOMUX.GPIO.reg &= ~pins_mask;
ndis_exit_critical();
}
总结
以上是生活随笔为你收集整理的AB1601继电器干扰问题的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: AB1601中断的问题
- 下一篇: AB1601的AD转换注意事项