當(dāng)前位置:
首頁(yè) >
AB1601继电器干扰问题
發(fā)布時(shí)間:2025/3/21
31
豆豆
生活随笔
收集整理的這篇文章主要介紹了
AB1601继电器干扰问题
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
當(dāng)給繼電器線圈供電時(shí),控制蜂鳴器的io口有時(shí)候無(wú)法正確開(kāi)關(guān)。不給繼電器線圈供電,就沒(méi)問(wèn)題。
進(jìn)一步測(cè)試發(fā)現(xiàn)不是干擾問(wèn)題,是程序方面的問(wèn)題。1601的所有g(shù)pio口共用同一個(gè)輸出控制寄存器,在中斷中有寫(xiě)gpio口的操作,sdk的接口函數(shù)也沒(méi)有做任何針對(duì)性處理,導(dǎo)致
寫(xiě)寄存器沖突。在gpio口接口函數(shù)中加入臨界區(qū)保護(hù)機(jī)制,問(wèn)題解決。
代碼如下:
void DRV_Gpio_ValSet(uint32_t pins_mask, bool is_one)
{
ndis_enter_critical();//臨界區(qū)保護(hù)機(jī)制
? ? if(is_one)
IOMUX.GPIO.reg |= pins_mask;
else
IOMUX.GPIO.reg &= ~pins_mask;
? ? ndis_exit_critical();
}
總結(jié)
以上是生活随笔為你收集整理的AB1601继电器干扰问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: AB1601中断的问题
- 下一篇: AB1601的AD转换注意事项