目录
2. AmebaGPIO example "LED_InterruptCtrl" —— 使用按键控制LED灯闪烁
1. PKE8720DF-C13-F10开发板
PKE8720DF-C13-F10是基于PKM8720DF-C13-F10模组集成的开发板,支持 Wi-Fi 和 BT 5.0 协议。它使用 USB TypeC 连接器供电,具有自动上传电路。
PKE8720DF-C13-F10的基本信息、外设接口、引脚定义以及Arduino IDE配置的详细信息可以参考以下链接:使用PKE8720DF-C13-F10实现Arduino example——Button_deer_vickey的博客-CSDN博客
2. AmebaGPIO example "LED_InterruptCtrl" —— 使用按键控制LED灯闪烁
1)所需材料
- 1 x PKE8720DF-C13-F10开发板
- 1 x USB转type-C数据线
- 1 x LED
- 1 x 按键
- 4 x 杜邦线
2)电路连接
LED
- PB23:Output,使用(白色)杜邦线连接LED长脚
- GND:使用(黄色)杜邦线连接LED短脚
Button
- PA12:Input,使用(绿色)杜邦线连接按键
- VDD33:使用(黑色)杜邦线连接按键对脚
3)修改代码
选择"File"->"Examples"->"AmebaGPIO"->"LED_InterruptCtrl",根据电路中实际使用的Pin脚修改LED_InterruptCtrl.ino文件:
4)代码解析
在本例中,我们使用一个按键来触发中断并控制LED。当按下并松开按键时,LED会变暗,再次按下并松开按键,LED会亮起。请注意,在Arduino example "Button"中,LED只有在按住按键时才会亮起,当我们释放按键时,LED会变暗。
setup()
- Pin 14 (PB23)设为OUTPUT,LED的长脚连接到这个引脚。
- Pin 3 (PA12)设为INPUT_IRQ_RISE,当这个引脚的电压从GND变为3V3时发生中断。因此,我们将按键的另一侧连接到3V3,以便在按下按键时触发中断事件。
button_handler()
- digitalSetIrqHandler()的第二个参数,即函数指针的定义。
- 在这个函数中,每次按下和释放按键时,我们都会触发一个中断,并且更改LED亮和灭的状态。
5)烧录image
选择"Tools"->"Auto Upload Mode"->"Enable",打开自动上载。
点击"Sketch"->"Upload",即可编译image并且烧录到开发板中。出现下面的信息表示download image成功:
6)实验结果
如下视频可以看到:烧录完成之后LED灯状态为亮起,按下并松开按键,LED灯熄灭;再次按下并松开按键,LED灯亮起。每次按下并释放按键后,会改变LED灯亮起和熄灭的状态。
20230717_Arduino_AmebaGPIO