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

KSCAN

1 功能概述

本例程演示演示 KeyScan Driver 的基本功能与使用方法。

2 环境准备

  • 硬件设备与线材:

    • PAN271x EVB 核心板底板各一块

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

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

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

  • 硬件接线:

    • 将 EVB 核心板插到底板上

    • 连接串口转USB调试模块:

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

      • 使用杜邦线或跳线帽将 EVB 底板 J8 排针对 (P06 & TXD) 和 J9 排针对 (P05 & RXD) 分别短接起来

    • 连接 Jlink,使用杜邦线将 JLink 仿真器的:

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

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

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

    • 连接IO与按键(4x4)

      ​ PAN271x 按键板

      ​ VBAT VDD

      ​ GND GND

      ​ P02 ROW1

      ​ P12 ROW2

      ​ P14 ROW3

      ​ P20 COL1

3 编译和烧录

例程位置:<PAN271x-DK>\01_SDK\samples\drivers\kscan

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

4 例程演示说明

  1. 烧录完成后,芯片会通过串口打印初始化 Log:

    CPU @ 48000000Hz
    +-----------------------------------------------------------------------------+
    |                      PAN271x KeyScan Sample Code.                           |
    +-----------------------------------------------------------------------------+
    |    Press key to start specific testcase:                                    |
    |    Input '1'    Testcase 1: key int Test Case.                              |
    |    Input '2'    Testcase 2: key polling Test Case.                          |
    +-----------------------------------------------------------------------------+
    
  2. 串口输入字符‘1’,KeyScan中断检测功能,示例演示一个3行一列的按键,按键按下与抬起均触发中断,按键按下输出当前按键id,按键抬起无id输出。

    IRQ
    key 0_0 pressed
    IRQ
    key pressed
    IRQ
    key 1_0 pressed
    IRQ
    key pressed
    IRQ
    key 2_0 pressed
    IRQ
    key pressed
    
  3. 串口输入字符‘2’,KeyScan查询检测功能,示例演示一个3行一列的按键,PAN271x循环查询按键状态标志,按键按下输出当前按键id,按键抬起无id输出。

    key 0_0 pressed
    key pressed
    key 1_0 pressed
    key pressed
    key 2_0 pressed
    key pressed
    

5 Ram/Otp资源使用情况

  • Otp Size: 4.24kB

  • RAM Size: 0.78kB