本帖最后由 wgtwgtwgt 于 2019-10-28 17:10 编辑
在ATmega4809的资源页面有一个文档:
下载该文档,其中有一句说明了对于此芯片,所有GPIO引脚均可作为外部中断引脚使用:
下面就用Nano小板的用户按键测试一下,按下该按键后,会进入到PF6引脚的外部中断服务函数。只配置PF6、PF5引脚,详见帖子,用Atmel Start生成基础工程后,用下面的代码代替main.c中的内容:
编译无误下载,按下用户按键,进入外部中断服务函数,在中断服务函数中置变量pf6Ioc为1(一般情况下,中断服务函数要求快进快出,不宜过长,不宜有delay延时)。当main()函数中的while循环扫描到该变量为1后,用_delay_ms()函数进行软件消抖,若确实是用户按键按下了,则翻转LED灯的电平。最后使pf6Ioc变量为0。
本测试移植了下图中的代码:
|