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转换注意事项