JL — AC695X — 常用外设介绍
2026/8/6 12:27:38 网站建设 项目流程

一、GPIO

1.1、工作模式

1.1.1 输入模式

  • 在输入模式时,输出被禁止。
  • 可通过输入寄存器 DIR 读取 IO 状态
  • 输入模式可以配置为模拟、上拉、下拉、浮空模式。默认电平由上拉或下拉决定。
  • 浮空输入的电平是不确定的,完全由外部的输入决定。
  • 模拟输入则用于 ADC 采集。

1.1.2 输出模式

  • 方向:有输入,有输出,无开漏。
  • 上下拉:所有 IO 都有上下拉,电阻固定。输入状态才有上下拉。
  • 水平:输出高(电压接近 VDDIO 电压),输出低(相当于地,灌电流形式)
  • 能力:普通输出、强输出、超强输出,3 种输出能力。超强输出只有极少IO有此能力。
  • 状态:数字态,模拟态,2 种状态。输入状态下 AD 检测才用模拟态。
  • 读取:输入数字态,可以读取 IO 的电压高低。

这里的输入状态下 AD 检测才用模拟态,不用纠结是输入还是输出,只需要知道他可以切换为模拟+输入即可

1.2 接口说明

第一个参数都是 IO 的宏定义, 如:IO_PORTA_00,指 PA0

接口名称作用
gpio_set_direction()设置 IO 的方向,第二个参数:1 输入,0 输出
gpio_set_pull_up()设置上拉电阻使能,第二个参数:1 开启,0 关闭
gpio_set_pull_down()设置下拉电阻使能,第二个参数:1 开启,0 关闭
gpio_set_output_value()设置输出电压水平,第二个参数:1 高,0 低
gpio_set_die(),gpio_set_dieh()设置 IO 的状态,第二个参数:1 数字态,0 模拟态
gpio_set_hd(),gpio_set_hd0()设置 IO 的能力,第二个参数:1 强输出,0 普通输出
gpio_read()输入数字态情况下读取电压水平,返回值:1 是高,0 是低

gpio_set_dieh()、gpio_set_hd0(),一般不用

配置案例:

IO口输出高电平

voidLED_DEMO(){gpio_set_pull_down(GPIO_LED_PORT,0);//关闭下拉gpio_set_pull_up(GPIO_LED_PORT,0);//关闭上拉gpio_set_die(GPIO_LED_PORT,1);//设置为数字态gpio_set_hd(GPIO_LED_PORT,0);//看需求是否需要开启强推,会导致芯片功耗大gpio_set_direction(GPIO_LED_PORT,0);//设置为输出模式gpio_set_output_value(GPIO_LED_PORT,1);//输出电平设置:1高 0低}

设置输入读取 IO 高低(设置方向寄存器后,不能马上读取电压!

u32 gpio=IO_PORTA_00;//指定 IOgpio_set_pull_down(gpio,0);//看需求是否需要开内部下拉gpio_set_pull_up(gpio,0);//看需求是否需要开内部上拉gpio_set_die(gpio,1);gpio_set_direction(gpio,1);delay(100);//设置方向寄存器后,不能立马读电压intlevel=gpio_read(gpio);

设置输入模拟检测电压

u32 gpio=IO_PORTA_00;//指定 IOgpio_set_pull_down(gpio,0);//看需求是否需要开内部下拉gpio_set_pull_up(gpio,0);//看需求是否需要开内部上拉gpio_set_die(gpio,0);//设置为模拟态gpio_set_direction(gpio,1);

二、IIC

2.1 配置定义

首先是在板级配置文件内的配置

apps\soundbox\board\br23\board_ac695x_demo\board_ac695x_demo_cfg.h

这里配置的是使能,脚位、延时参数以及波特率

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询