当前页面为 开发中 版本,查看特定版本的文档,请在页面左下角的下拉菜单中进行选择。

GPIO Simple Convenient APIs

1 功能概述

本例程演示 GPIO 底层 Driver 中提供的几个简单好用的接口,程序具体行为是通过 EVB 底板上的按键 KEY1,切换 LED3 的输出频率,并通过串口打印 Log 信息。

2 环境准备

  • 硬件设备与线材:

    • PAN107X EVB 核心板底板各一块

    • JLink 仿真器(用于烧录例程程序)

    • USB-TypeC 线一条(用于底板供电和查看串口打印 Log)

    • 杜邦线数根或跳线帽数个(用于连接各个硬件设备)

  • 硬件接线:

    • 将 EVB 核心板插到底板上

    • 使用 USB-TypeC 线,将 PC USB 插口与 EVB 底板 USB->UART 插口相连

    • 使用杜邦线将 EVB 底板上的 TX 引脚接至核心板 P16,RX 引脚接至核心板 P17

    • 使用杜邦线将 JLink 仿真器的:

      • SWD_CLK 引脚与 EVB 底板的 P00 排针相连

      • SWD_DAT 引脚与 EVB 底板的 P01 排针相连

      • SWD_GND 引脚与 EVB 底板的 GND 排针相连

  • PC 软件:

    • 串口调试助手(UartAssist)或终端工具(SecureCRT),波特率 921600(用于接收串口打印 Log)

3 编译和烧录

例程位置:<PAN10XX-NDK>\01_SDK\nimble\samples\peripheral\gpio_simple_convenient_apis\keil_107x

双击 Keil Project 文件打开工程进行编译烧录。

4 例程演示说明

  1. 烧录完成后,芯片会通过串口打印初始化 Log,观察 LED3 可见其以 1Hz 的频率闪烁:

    Try to load HW calibration data.. DONE.
    - Chip Info         : 0x1
    - Chip CP Version   : 255
    - Chip FT Version   : 6
    - Chip MAC Address  : E11000000FF8
    - Chip UID          : 6D0001465454455354
    - Chip Flash UID    : 4250315A3538380B005B7B4356037D78
    - Chip Flash Size   : 512 KB
    Toggle LED, dly_cnt=500
    Toggle LED, dly_cnt=1000
    Toggle LED, dly_cnt=1500
    Toggle LED, dly_cnt=2000
    
  2. 按一下 EVB 底板的 KEY1 按键(对应 GPIO P06 引脚),芯片成功检测到按键按下后,会将 LED3 闪烁频率切换至 2Hz,同时打印如下 Log:

    Toggle LED, dly_cnt=5000
    Toggle LED, dly_cnt=5250
    Toggle LED, dly_cnt=5500
    Toggle LED, dly_cnt=5750
    Toggle LED, dly_cnt=6000
    Toggle LED, dly_cnt=6250
    Toggle LED, dly_cnt=6500
    Toggle LED, dly_cnt=6750
    Toggle LED, dly_cnt=7000
    
  3. 再按一下 EVB 底板的 KEY1 按键,芯片成功检测到按键按下后,会将 LED3 闪烁频率切换至 10Hz,同时打印如下 Log:

    Toggle LED, dly_cnt=10500
    Toggle LED, dly_cnt=10550
    Toggle LED, dly_cnt=10600
    Toggle LED, dly_cnt=10650
    Toggle LED, dly_cnt=10700
    Toggle LED, dly_cnt=10750
    Toggle LED, dly_cnt=10800
    Toggle LED, dly_cnt=10850
    Toggle LED, dly_cnt=10900
    Toggle LED, dly_cnt=10950
    Toggle LED, dly_cnt=11000