CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!

AON_GPIO Input & Output

AON_GPIO Input & Output示例实现了AON_GPIO的输入输出功能。

  • 配置为普通输出时,通过程序AON_GPIO Input & Output示例控制IO上电平的变化。
  • 配置为普通输入时,通过程序AON_GPIO Input & Output示例读取IO上电平的高低。

AON_GPIO Input & Output示例的源代码和工程文件位于SDK_Folder\projects\peripheral\aon_gpio\aon_gpio_output_input,其中工程文件在文件夹Keil_5下。

代码理解

示例工程流程图如图 7所示:

图 7 AON_GPIO Input & Output示例工程流程图
  1. 配置AON_GPIO模块输入/输出模式。
    #define AON_GPIO_DEFAULT_CONFIG                      \
    {                                                    \
        .pin     = AON_GPIO_PIN_ALL,                  \
        .mode    = AON_GPIO_MODE_INPUT,               \
        .pull    = AON_GPIO_PULLDOWN,                 \
        .mux     = AON_GPIO_MUX_7,                    \
    }
    
    aon_gpio_init_t aon_gpio_init = AON_GPIO_DEFAULT_CONFIG;
    
    aon_gpio_init.pin  = AON_GPIO_PIN_7;
    aon_gpio_init.mode = AON_GPIO_MODE_OUTPUT;
    hal_aon_gpio_init(&aon_gpio_init);
    
    aon_gpio_init.pin  = AON_GPIO_PIN_6;
    aon_gpio_init.mode = AON_GPIO_MODE_INPUT;
    hal_aon_gpio_init(&aon_gpio_init);
    
    • init.pin:引脚配置ID,可选择AON_GPIO_PIN_0 ~ AON_GPIO_PIN_7任意组合。
    • init.mode:引脚工作模式,可选择AON_GPIO_MODE_INPUT、AON_GPIO_MODE_OUTPUT、AON_GPIO_MODE_MUX、

      AON_GPIO_MODE_IT_RISING、AON_GPIO_MODE_IT_FALLING、AON_GPIO_MODE_IT_HIGH、

      AON_GPIO_MODE_IT_LOW。

    • init.pull:上下拉电阻配置,可选择AON_GPIO_NOPULL、AON_GPIO_PULLUP、AON_GPIO_PULLDOWN。
    • init.mux:pin_mux配置,参考GR551x Datasheet中的pin_mux配置表,输入/输出时需配置为AON_GPIO_MUX_7。

    当需要配置为输入时,只需要修改mode:

    aon_gpio_init.mode = AON_GPIO_MODE_INPUT;
  2. 设置输出引脚电平。
    hal_aon_gpio_write_pin(AON_GPIO_PIN_7, AON_GPIO_PIN_RESET);

    参数AON_GPIO_PIN_RESET表示设置为低电平,AON_GPIO_PIN_SET表示设置为高电平。

  3. 读取输入引脚电平。
    pin_level = hal_aon_gpio_read_pin(AON_GPIO_PIN_6);

    pin_level为0表示低电平,为1表示高电平。

测试验证

  1. 用GProgrammer下载aon_gpio.bin至开发板。
  2. 将开发板串口连接至PC端,打开并配置GRUart。
  3. 在GRUart的Receive Data窗口中将会显示IO口的输入/输出状态信息。

扫描关注

打开微信,使用“扫一扫”即可关注。