使用PKE8720DF-C13-F10(AMB26)开发板——按键控制LED灯开关

目录

1. PKE8720DF-C13-F10开发板

2. 需要准备的材料

3. 获取源代码

4. 开始修改相关代码

5. 执行编译

6. 烧录image

7. 开关控制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. 需要准备的材料

在开始之前,我们先准备好以下几样物件。

(1) PKE8720DF-C13-F10开发板,1块。

(2) 长短脚LED灯,1个。

(3) 开关按键,1个。

(4) 杜邦线,4根。

(5) type-C usb连接线,1根。

除硬件准备以外,下面软件需求有。

(1) ImageTool工具。

(2) Linux/Windows的开发编译环境,包含libc6-i386lib32ncurses5makebcgawkncurses

3. 获取源代码

PKM8720DF-C13-F10模组配套的SDK放在了GitHub开源网站,可通过下面的链接获取。

GitHub - ambiot/ambd_sdk: Release SDK for AmebaD

4. 开始修改相关代码

我们进入source code,进入跟LED灯按键操作相关的目录。

cd ${ambd_sdk}/project/realtek_amebaD_va0_example/example_sources/GPIO/raw/gpio/

在这里,我们先看一下readme.txt文件,里面提到:

Pin name PA_12 and PB_5 map to GPIOA_12 and GPIOB_5:
 - PA_12 as input with internal pull-high, connect a push button to this pin and ground.
 - PB_5 as output, connect a LED to this pin and GND.

意思是说,将PA_12连接到开关按键,PB_5连接到LED灯。而通过PKE8720DF-C13-F10的引脚图我们可以看到,上面并没有PB_5,不过没有关系,我们可以换一根引脚,这里选择PB_2。

选择PB_2的时候,我们需要修改一下这个目录下的代码文件src/main.c。

vim src/main.c

可以看到下面这一行,将其中的“_PB_5”,修改成“_PB_2”即可。

#define GPIO_LED_PIN       _PB_5

然后,将这个main.c覆盖掉hp路径下的启动main.c文件。

cd src/

cp -f main.c ../../../../../src/src_hp/

5. 执行编译

进入下面两个目录,执行“make all”命令,先后编译lp和hp。

cd ${ambd_sdk}/project/realtek_amebaD_va0_example/GCC-RELEASE/project_lp

make all

cd ${ambd_sdk}/project/realtek_amebaD_va0_example/GCC-RELEASE/project_hp

make all

在这个过程中,如果遇到有文件可执行权限报错的问题,将报错的文件添加可执行权限之后,重新执行“make all”命令。或者干脆整个目录通过chmod命令添加可执行权限。

直至出现下面的字样,表示编译完成。

========== Image manipulating end ==========

编译完成之后,在lp和hp目录下,分别存在下面两个路径的子目录。

cd ${ambd_sdk}/project/realtek_amebaD_va0_example/GCC-RELEASE/project_lp/asdk/image

ls -l

cd ${ambd_sdk}/project/realtek_amebaD_va0_example/GCC-RELEASE/project_hp/asdk/image

ls -l

在里面,可以找到下面几个需要加载的image文件。

${GCC_RELEASE}/project_lp/asdk/image/km0_boot_all.bin

${GCC_RELEASE}/project_hp/asdk/image/km4_boot_all.bin

${GCC_RELEASE}/project_hp/asdk/image/km0_km4_image2.bin

6. 烧录image

我们找到上面三个image文件之后,可以开始进行烧录了。

将板子插上type-C usb口,连到PC上,通过设备管理器(此电脑->右键属性->设备管理器),查看此时插入的是哪一个com口。

 然后,在ImageTool中选择对应的com口,再在下方选择image的目录中,从上到下依次选择“km0_boot_all.bin”,“km4_boot_all.bin”,“km0_km4_image2.bin”三个文件的路径,再点击下方的download按钮,即开始烧录。

烧录完毕之后,会出现“All images are sent successfully”的字样。

7. 开关控制LED灯

此时,我们将LED灯的长脚连接到板子的PB_2引脚,短脚连接到板子的GND(接地),按键开关连接到板子的PA_12GND

<iframe id="gZ7RjBne-1690437598562" src="//i2.wp.com/live.csdn.net/v/embed/315062" allowfullscreen="true" data-mediaembed="csdn"></iframe>

WeChat_20230727115344

然后按板子上的reset键重启,尝试去按下和松开按键开关,会发现按下的时候,LED灯亮,松开的时候,LED灯灭。

此时,我们就可以看出,板子上的自带RGB灯也点亮了。这是因为,RGB灯本身也有A12、A13和A14控制的缘故。