当前文档版本为 v0.6.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

GPIO应用开发指南

1. 摘要

本篇应用指南主要介绍PAN262x GPIO模块开发方法。

本篇应用指南主要包括:

  • GPIO 模块介绍

  • Reset 引脚复用为输入端口

  • C2 端口复用为 I/O 功能

注意:

本应用指南为PAN262x的应用补充文档,不能代替用户手册,具体功能及寄存器的操作等相关事项请以用户手册为准。

2. 功能介绍

GPIO 是通用输入输出模块, MCU 可将一个 IO 设为模拟模式,作为 ADC 输入;设为数字输 入/输出,或是外设端口,供特定外设使用。使用端口功能前,需要先把 GPIO 模块时钟控制 功能打开。

3. GPIO 模块

3.1. Reset 引脚复用为输入端口

Reset 引脚可以复用为输入端口 P3_6。

  1. 如果要使用 Reset 引脚配置为通用的 I/O 引脚,过程如下:

调用gpio.c文件中void GPIO_DisableRst(void)函数,禁用Reset功能。

  1. 如果要使用 Reset 引脚作为复位引脚,过程如下:

调用gpio.c文件中void GPIO_EnableRst(void)函数,禁用Reset功能。

注意:

  1. Reset引脚内部默认集成一个上位电阻,外部可以不接上拉电阻,保持浮空,pan262x也可以正常启动。

  2. 在复用 Reset 引脚时候的外围电路设计,在上电时要保证该引脚不能为低电平(LowLevel),否则程序无法运行。

3.2. C2 端口复用为 I/O 功能

C2CK (P3_2) 与 C2DATA (P3_4) 引脚可以复用为通用的 I/O 引脚。

  1. C2CK (P3_2) 与 C2DATA (P3_4) 引脚配置为通用的 I/O 引脚,过程如下 :

/** Config P3_2 to GPIO pin */
GPIO_Init(GPIO_P32, GPIO_P32_MUX_IO, GPIO_MODE_OUTPUT_PP, GPIO_NOPULL);

/** Config P3_4 to GPIO pin */
GPIO_Init(GPIO_P34, GPIO_P34_MUX_IO, GPIO_MODE_OUTPUT_PP, GPIO_NOPULL);
  1. C2CK (P3_2) 与 C2DATA (P3_4) 引脚配置为C2功能引脚,过程如下:

/** Config P3_2 to C2 clock function */
GPIO_Init(GPIO_P32, GPIO_P32_MUX_C2CK, GPIO_MODE_OUTPUT_OD, GPIO_PULLUP);

/** Config P3_4 to C2 data function */
GPIO_Init(GPIO_P34, GPIO_P34_MUX_C2DATA, GPIO_MODE_OUTPUT_OD, GPIO_PULLUP);

注意:

  • 当把 C2 端口复用为 I/O 功能,通过 C2 在线调试与下载功能就会失效。

  • 在用户调试时,在将C2口配置为通用I/O之前添加一段延时代码(一般2秒以上),方便下次正常下载程序。

4. 参考样例及驱动

通过上述介绍,我们可以了解 Reset 引脚、 C2 引脚复用为输入/输出引脚的方法和注意事项。

pan262x-dk开发包同时提供了该模块的应用样例及驱动库,用户可通过打开样例的 工程进一步直观地熟悉该模块以及驱动库的应用,在实际开发中也可以直接参考样例和使用 驱动库来快速实现对该模块的操作。

  • 样例参考:

01_SDK\example_basic\gpio\gpio_in_out

01_SDK\example_basic\gpio\gpio_irq

01_SDK\example_basic\gpio\gpio_lp_wakeup

  • 驱动库参考

01_SDK\driver\inc\gpio.h

01_SDK\driver\src\gpio.c