0

正如问题所说,我想为数字输入引脚实现 ICN(输入更改通知)。

我正在使用 dsPic33EP512GM604。

我已将 Pin<22> RB1​​ 配置为输入引脚。

IR 传感器连接到同一引脚。我正在寻找一种方法(轮询除外),以在传感器检测到对象(发送高信号)时中断。

在浏览设备数据表时,我发现了一个可用的功能输入更改通知 (ICN)。

它说 :

“I/O 端口的输入变化通知功能允许设备向处理器生成中断请求,以响应选定输入引脚上的状态变化 (COS)。此功能可以检测输入状态变化 (COS) ),即使在时钟被禁用时处于休眠模式。每个 I/O 端口引脚都可以被选择(启用)以在状态改变时生成中断请求。

我试图搜索有关其实施的更多信息,但找不到任何信息。

谁能指导我实现它的方式或分享解释其实现或相关信息的链接???

4

1 回答 1

1

您需要通用 dspic33e 手册(每个外围设备的单独文件中都有一章的手册)。

尝试类似的东西

 CNENBbits.CNIEB1 = 1; // Enable RB1 pin for interrupt detection
 _CNIP=7;       // priority (7 = highest)
 _CNIE = 1; // Enable CN interrupts
 _CNIF = 0; // clear interrupt flag

并大致如下定义您的 _CN 中断例程:

void __attribute__((__interrupt__, no_auto_psv)) _CNInterrupt(void)
{
     _CNIF = 0; 
}  

如果为多个引脚启用 CN,则必须轮询中断中的引脚以确定是哪个引脚激活了它。

于 2016-12-09T14:35:52.617 回答