JL杰理AC696N系列开发GPIO使用指南:模式、配置与特殊IO
引言
GPIO是嵌入式开发最基础也最容易出问题的部分。拉高拉低看起来简单,但驱动能力不够、上下拉没配对、特殊引脚没处理,经常导致外设工作不正常或者功耗异常。
JL杰理AC696N的GPIO功能挺全的,有普通、强、超强三种驱动能力,还支持模拟输入、上下拉配置,但不同的应用场景用错模式就麻烦。刚在用AC696N开发板调试外设的时候,把这些GPIO模式和各种API都过了一遍,这里整理出来方便后面写驱动的时候直接参考。

GPIO是控制与感知世界的桥梁。JL杰理AC696N芯片的GPIO功能丰富,理解其工作模式是正确使用的前提。
GPIO主要分为输入和输出模式。输入模式可配置为模拟(用于ADC)、上拉、下拉或浮空。输出模式则需关注方向、上下拉(仅输入有效)、电平高低以及驱动能力(普通、强、超强)。部分IO具备超强输出能力。

SDK提供了一系列易用的API:
gpio_set_direction()设置方向;
gpio_set_pull_up/down()使能上下拉;
gpio_set_output_value()设置输出电平;
gpio_set_die()切换数字/模拟态;
gpio_set_hd0()设置驱动能力;
gpio_read()读取输入电平。
对于特殊的USB引脚(DP/DM),需要使用usb_iomode()函数将其切换到USB功能模式。
GPIO的输出电平由VDDIO电源决定,若需输出特定电压(如3.0V),则需将VDDIO设置为该电压。
总结
GPIO配置的关键就两点:模式选对,驱动能力够用。
输出控制LED、继电器这类负载,根据电流大小选强或超强驱动,别上来就全开强驱动,没必要还费电。
输入检测按键时,上下拉要配合硬件电路,别重复配。
USB引脚比较特殊,普通GPIO操作对它没用,必须用usb_iomode()切到USB功能。
ADC输入脚一定要配成模拟模式(gpio_set_die()关掉数字功能),否则读数不准。
这些配置在AC696N开发板上验证好了再搬到产品上,省得硬件焊好了才发现IO配不对。
审核编辑 黄宇
域财网
