在配置中断机构时,主触发器通常以0为基准。具体来说:
1. 主触发器配置:主触发器0应该被配置为0,即 0x00,这样才能使得主触发器0和中断中断条件机构ID7同时触发中断。
2. 中断中断条件机构ID7的触发条件:在中断中断条件机构ID7的触发事件中,主触发器0的值将决定是下边沿还是上边沿:
如果主触发器0的值为1,表示是下边沿。
如果主触发器0的值为2,表示是上边沿。
因此,如果用户希望主触发器0和中断中断条件机构ID7同时触发中断,主触发器0需要被配置为0。
示例配置:
- c
- void PCAINIT(void)
- {
- // 主触发器0配置为0,以使得主触发器0和中断中断条件机构ID7同时触发中断
- CCON = 0x00;
- CMOD = 0x01; // 主时钟设置为系统时钟/12分频
- CL = 0x00;
- CH = 0x00;
- // 配置中断中断条件机构ID7
- CCON = 0x00;
- CMOD = 0x01;
- CL = 0x00;
- CH = 0x00;
- // 配置中断机构7,主触发器0和中断中断条件机构ID7同时触发中断
- CSI = 0;
- CSI = 0x00; // 主触发器0配置为0
- CSI = 0x00; //中断中断条件机构ID7的触发器配置为0
- // 配置中断机构7的中断中断条件机构ID7
- CSI = 0;
- CSI = 0x00; // 主触发器0配置为0
- CSI = 0x00; //中断中断条件机构ID7的触发器配置为0
- if (CF) // 可能需要进一步处理
- {
- CF = 0;
- cnt++;
- }
- }
复制代码
需要注意的是,如果用户希望主触发器0和中断中断条件机构ID7同时触发中断,主触发器0应被配置为0。
希望这些建议对你有帮助!
[本文内容由国芯人工智能辅助生成,仅供参考] |