GPIO¶
1 功能概述¶
本例程演示演示 GPIO Driver 的基本功能与使用方法。
2 环境准备¶
硬件设备与线材:
PAN271x EVB 核心板与底板各一块
JLink 仿真器(用于烧录例程程序)
USB-TypeC 线一条(用于底板供电和查看串口打印 Log)
杜邦线数根或跳线帽数个(用于连接各个硬件设备)
硬件接线:
将 EVB 核心板插到底板上
使用 USB-TypeC 线,将 PC USB 插口与 EVB 底板 USB->UART 插口相连
使用杜邦线或跳线帽将 EVB 底板
J8排针对 (P06 & TXD) 和J9排针对 (P05 & RXD) 分别短接起来使用杜邦线将 JLink 仿真器的:
SWD_CLK 引脚与 EVB 底板的 P00 排针相连
SWD_DAT 引脚与 EVB 底板的 P01 排针相连
SWD_GND 引脚与 EVB 底板的 GND 排针相连
使用杜邦线将验证IO P02连接P12,P17连接P20
PC 软件:
串口调试助手(UartAssist)或终端工具(SecureCRT),波特率 115200(用于串口交互)
4 例程演示说明¶
烧录完成后,芯片会通过串口打印初始化 Log:
CPU @ 48000000Hz +------------------------------------------------------------------------------+ | PAN271X GPIO Sample Code. | +------------------------------------------------------------------------------+ | Press key to start specific testcase: | | Input '1' Testcase 1: Push-pull Mode Test. | | Input '2' Testcase 2: Open-drain Mode Test. | | Input '3' Testcase 3: Quasi-bidirectional Mode Test. | | Input '4' Testcase 4: Debounce Test. | | Input '5' Testcase 5: Interrupt Test. | +------------------------------------------------------------------------------+ | Board Pin Connection Scheme: | | [Group1] [Group2] | | P02 <----> P12 | | P17 <----> P20 | +------------------------------------------------------------------------------+
串口输入字符‘1’,Gpio Push-Pull功能,每组IO先设输出后输入,确保每个IO功能正常,输出结果。
GPIO Test OK, Success case: 0, Success Pin: P02 GPIO Test OK, Success case: 0, Success Pin: P12 GPIO Test OK, Success case: 0, Success Pin: P17 GPIO Test OK, Success case: 0, Success Pin: P20
串口输入字符‘2’,Gpio Open-Drain功能,每组IO先设输出后输入,确保每个IO功能正常,输出结果(同第二点)。
串口输入字符‘3’,Gpio Quasi-Bidirectional功能,每组IO先设输出后输入,确保每个IO功能正常,输出结果(同第二点)。
串口输入字符‘4’,Gpio Debounce功能,Gpio设置上升沿中断,debouce时间为64个HCLK,软件模拟抖动波形,中断触发条件为电平从低至高并维持高128个HCLK(稳定触发),从低至高并维持高64~128 HCLK区间有可能触发中断,也有可能不触发,这取决于边沿变化与Debouce Sample CLK的相位,Debouce Sample CLK刚过发生边沿变化,那么判定高需要约2个Debouce Sample CLK,边沿变化后Debouce Sample CLK 马上采集,那么判定高只需要约1个Debouce Sample CLK。
Debounce Period - 64 Cycles HCLK P0_2 INT occurred, type: GPIO_INT_RISING. Debounce Period - 128 Cycles HCLK GPIO Test OK, Success case: 3, Success Pin: P02 ...
串口输入字符‘5’,Gpio Interrupt功能,软件模拟电平变化,IO的所有中断类型均能正常触发。
P0_2 INT occurred, type: GPIO_INT_RISING. P0_2 INT occurred, type: GPIO_INT_FALLING. P0_2 INT occurred, type: GPIO_INT_BOTH_EDGE. P0_2 INT occurred, type: GPIO_INT_BOTH_EDGE. P0_2 INT occurred, type: GPIO_INT_HIGH. P0_2 INT occurred, type: GPIO_INT_LOW. GPIO Test OK, Success case: 4, Success Pin: P02 ...
5 RAM/Otp资源使用情况¶
Otp Size: 6.71kB
RAM Size: 0.77kB