AC54&56外部中断使用说明文档
📎 原始文档:https://www.kdocs.cn/l/cpGc2a94Qld8 AC54&56 外部中断使用说明文档
目 录
TOC \o "1-3" \h \u HYPERLINK \l _Toc4232 一、功能说明 PAGEREF _Toc4232 \h 2
HYPERLINK \l _Toc30579 二、配置步骤 PAGEREF _Toc30579 \h 2
HYPERLINK \l _Toc23260 三、注意事项 PAGEREF _Toc23260 \h 5
一、功能说明
AC54&56 所有版本在使用外部中断功能时,均可参照该文档步骤进行配置。由于测试版本为AC56 0.5.14版本,因此该版本需要替换库文件。后续更新的版本可能不需要补丁,具体以实际情况为准。
二、配置步骤
在AC56 0.5.14版本SDK上,添加如下.c文件,替换dev.a和cpu.a库文件。包括0.5.14 wifi版本在内,除了0.5.14版本均不要使用该库文件:
EMBED Package
EMBED Package
EMBED Package
打开out_interrupt.c文件,结合实际情况修改如图所示对应引脚。这里事件0,事件1和事件9(也就是EVENT_IO_0,EVENT_IO_1,EVENT_IO_2)可以使用任意普通IO,通过IOMC2对应寄存器位置设置输入映射过来,而FILEP_PORT宏定义的引脚负责翻转电平,用于做触发中断的翻转测试信号。
在应用层调用out_interrupt_test()
下载代码后出现相关寄存器配置打印:
连接翻转电平引脚与外部中断事件设置的触发引脚,出现如图所示打印则代表正常触发中断:
out_interrupt_test()函数:
中断服务函数自行添加处理:
三、注意事项
参照用户手册可以得知,外部中断源有18个。其中,事件0,事件1和事件9(也就是EVENT_IO_0,EVENT_IO_1,EVENT_IO_2)可以通过IMOC2配置映射使用任意普通IO。
除了上述说明的事件0,事件1和事件9以外,其他均是硬件IO作为中断源,需要找到硬件对应的IO口进行设置。
外部中断相关寄存器,结合用户手册查看相关寄存器。若上述配置完之后并没有触发中断,可以将寄存器值打印出来查看,其中WKUP_CON0用于使能中断,WKUP_CON1负责设置边沿触发的极性。
IOMC2配置选择管脚,如下:
若配置后,引脚没进中断事件,先检查初始化的打印,初始化打印中有关键信息,若初始化无问题,则后续打印IOMC2的值看是否有被修改。
杰理科技 2023.07.14