PIC24的DISI指令是禁止中断指令,
这条指令可以把1-6优先级中断禁止一个固定的时间,用于一些对时间特性要求严格的代码段执行前关闭中断.
禁止中断指令最大可以禁止中断时间为16384 个指令周期.
这条指令的执行的时候,1-6级别中断立即被禁止,同时把DISICNT寄存器赋值为16384,DISICNT寄存器赋按每个指令周期递减,当DISICNT为0的时候,中断禁止结束.
在DISI指令禁止中断期间,用户可以写DISICNT延长或者缩短中断禁止时间,或者直接对DISICNT写0,立即结束中断禁止.
注意:
在DISI未执行的时候,直接写DISICNT为非0数值无效,不能禁止中断.
要中断禁止生效必须先执行DISICNT指令
如果要一直禁止中断,可以用如下方法:
1. 使用PUSH 指令将当前的SR 值压入软件堆栈。
2. 通过将值0xE0 与SRL 进行“或”运算而将CPU 优先级强制设置为7。
上一篇:如何实现对PIC芯片ROM中的程序地址的精确定位?
下一篇:PIC单片机人机接口模块独立式按键的典型应用及经验分享
设计资源 培训 开发板 精华推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况