AC57系列外部中断使用说明文档
📎 原始文档:https://www.kdocs.cn/l/cb7LSMrWPO7u AC57 系列外部中断使用说明文档
目 录
TOC \o "1-3" \h \u HYPERLINK \l _Toc20548 一、功能说明 PAGEREF _Toc20548 2
HYPERLINK \l _Toc8365 二、配置步骤 PAGEREF _Toc8365 2
HYPERLINK \l _Toc24048 三、注意事项 PAGEREF _Toc24048 5
一、功能说明
AC57 所有版本在使用外部中断功能时,均可参照该文档步骤进行配置。本文档测试例子使用的SDK为AC57 V3.0.3版本,因此需要替换库文件,后续更新的版本可能不需要补丁,具体以实际测试情况结果为准。
二、配置步骤
在AC57 V3.0.3版本SDK上,添加如下.c文件,替换如下库文件,其他版本不要替换该库文件:
EMBED Package
EMBED Package
在port_waked_up.h里面加上如图所示部分:
打开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配置选择中断的IO口,如下:


若配置后,IO口没进中断事件,则可以通过打印IOMC2的值来验证与配置的值是否相符。
杰理科技 2023.07.06