使用PKE8720DF

编程入门 行业动态 更新时间:2024-10-27 16:31:07

使用PKE8720DF

使用PKE8720DF

目录

1. 板载LED and Keys介绍

 2. PKE8720DF-C13-F10(AMB26)引脚图和功能

3.代码提供

4. 准备工作

(1)材料准备

(2)生成image

(3)线路连接

5. 实验结果


        阅读使用PKE8720DF-C13-F10(AMB26)开发板——周期性点亮LED灯这篇文章,可以很方便的上手PKE8720DF-C13-F10(AMB26)开发板,方便用户二次开发。

        本文着重描述PKE8720DF-C13-F10(AMB26)开发板如何(基于GPIO实验)实现RGB跑马灯。

1. 板载LED and Keys介绍

 通过上图和表格可知,板载RGB是由PA12,PA13,PA14三个pin控制。 

RGB原理图也一并给出:

 2. PKE8720DF-C13-F10(AMB26)引脚图和功能

由上面引脚图和功能可以得知,PA和PB口均可以实现GPIO的功能。

3.代码提供

        本实验代码在github(GitHub - ambiot/ambd_sdk: Release SDK for AmebaD)下载的SDK code里面并没有提供,所有这边有coding好并给到大家(需要本地创建main.c文档,并copy以下代码):

#include "device.h"
#include "main.h"#define GPIO_LED_PIN_G       _PA_12  //Green
#define GPIO_LED_PIN_R       _PA_13  //Red
#define GPIO_LED_PIN_B       _PA_14  //Blue
#define GPIO_PUSHBT_PIN      _PB_1void raw_gpio_RGB_demo(void)
{u32 i,j;GPIO_InitTypeDef GPIO_InitStruct_LED_G;GPIO_InitTypeDef GPIO_InitStruct_LED_R;GPIO_InitTypeDef GPIO_InitStruct_LED_B;GPIO_InitTypeDef GPIO_InitStruct_PUSHBT;// Init LED control pinGPIO_InitStruct_LED_G.GPIO_Pin = GPIO_LED_PIN_G;GPIO_InitStruct_LED_G.GPIO_Mode = GPIO_Mode_OUT;GPIO_Init(&GPIO_InitStruct_LED_G);GPIO_InitStruct_LED_R.GPIO_Pin = GPIO_LED_PIN_R;GPIO_InitStruct_LED_R.GPIO_Mode = GPIO_Mode_OUT;GPIO_Init(&GPIO_InitStruct_LED_R);GPIO_InitStruct_LED_B.GPIO_Pin = GPIO_LED_PIN_B;GPIO_InitStruct_LED_B.GPIO_Mode = GPIO_Mode_OUT;GPIO_Init(&GPIO_InitStruct_LED_B);// Init Push Button pinGPIO_InitStruct_PUSHBT.GPIO_Pin = GPIO_PUSHBT_PIN;GPIO_InitStruct_PUSHBT.GPIO_Mode = GPIO_Mode_IN;GPIO_InitStruct_PUSHBT.GPIO_PuPd = GPIO_PuPd_UP;GPIO_Init(&GPIO_InitStruct_PUSHBT);while (1) {if (GPIO_ReadDataBit(GPIO_PUSHBT_PIN)) {//turn off LEDGPIO_WriteBit(GPIO_LED_PIN_G, 0);GPIO_WriteBit(GPIO_LED_PIN_R, 0);GPIO_WriteBit(GPIO_LED_PIN_B, 0);j = 0;} else {// turn on LED			if(j%3 == 0){GPIO_WriteBit(GPIO_LED_PIN_G, 1);GPIO_WriteBit(GPIO_LED_PIN_R, 0);GPIO_WriteBit(GPIO_LED_PIN_B, 0);for (i=0; i<20000000; i++) asm("nop");}if(j%3 == 1){GPIO_WriteBit(GPIO_LED_PIN_G, 0);GPIO_WriteBit(GPIO_LED_PIN_R, 1);GPIO_WriteBit(GPIO_LED_PIN_B, 0);for (i=0; i<20000000; i++) asm("nop");}if(j%3 == 2){GPIO_WriteBit(GPIO_LED_PIN_G, 0);GPIO_WriteBit(GPIO_LED_PIN_R, 0);GPIO_WriteBit(GPIO_LED_PIN_B, 1);for (i=0; i<20000000; i++) asm("nop"); }			j++;}}
}/*** @brief  Main program.* @param  None* @retval None*/
void main(void)
{if (pdTRUE != xTaskCreate( (TaskFunction_t)raw_gpio_RGB_demo, "RAW_GPIO_RGB_DEMO_TASK", (2048 /4), (void *)NULL, (tskIDLE_PRIORITY + 1), NULL)){DiagPrintf("Create RAW_GPIO_DEMO_TASK Err!!\n");}vTaskStartScheduler();
}

可以看到上述代码里面使用PB1作为RGB灯控制pin,并且PB1默认是高电平输出,此时RGB灯不会被点亮并闪烁,当将PB1接到板子上的GND之后,RGB灯被点亮并闪烁。

4. 准备工作

(1)材料准备

  • 1 块 PKE8720DF-C13-F10开发板
  • 1 根 USB转type-C数据线
  • 1 根 杜邦线

(2)生成image

将上面自己创建的main.c,替换/project/realtek_amebaD_va0_example/src/src_hp里面的main.c,make all生成3个bin文件:

km0_boot_all.bin

km4_boot_all.bin

km0_km4_image2.bin

之后download image到板子。

(3)线路连接

用USB转type-C数据线连接开发板到PC上。

5. 实验结果

以上工作准备好之后,连接PB1到GND,如下图所示:

这时候可以观察到板载RGB灯闪烁:

RGB跑马灯

实验结果符合预期!!!

更多推荐

使用PKE8720DF

本文发布于:2024-02-10 20:20:24,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1677087.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:PKE8720DF

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!