AB1601继电器干扰问题
来源:互联网 发布:java代码大全 下载 编辑:程序博客网 时间:2024/05/16 18:49
当给继电器线圈供电时,控制蜂鸣器的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();
}
阅读全文
0 0
- AB1601继电器干扰问题
- 防干扰继电器控制电路
- AB1601中断的问题
- 继电器电磁干扰的分析及抑制
- 电路设计_继电器的电磁干扰
- 继电器RC电路问题
- AB1601 IO口反应延时的问题
- AB1601 Makefile钟优化的问题
- AB1601编译优化参数引发的问题
- 继电器
- 继电器
- 继电器
- 继电器
- 纹理贴图的干扰问题
- 继电器断电前是吸合状态,上电瞬间继电器先吸合,继电器再断开 问题
- 三相固态继电器的使用问题
- 单片机控制继电器时碰到的问题
- GPS接收机设计中的干扰问题
- QT中 QString转化为String时候的toStdString与toLocal8Bit 的区别
- docker(1)命令总结
- redis 之set类型
- Android获取应用缓存并清除缓存
- 第十二篇:线程间通信中notifyAll造成的早期通知问题(含代码)
- AB1601继电器干扰问题
- android知识点(2)
- 浅谈java中的注释、关键字、标识符、数据类型、变量的命名方法、运算符
- 第一次写blog C语言指针数组和数组指针
- redis之list类型
- vi 命令的修改,复制,删除
- Java 课下作业 T3
- 第十三篇:生产者—消费者模型(含代码)
- c++初级 之 const与常量