GPADC驱动包括两层:硬件访问层(HAL)和RT-Thread的适配层。
HAL 提供用于访问 adc 外设寄存器的基本 API。 适配层提供常用的adc读取功能。 用户可以将它们与 RT-THREAD 设备一起使用。 ADC 支持 DMA 模式、中断模式和轮询模式,现在默认使用轮询模式。 主要功能包括:
可以使用 menuconfig 工具为每个项目选择它,并且通常保存在 C 头文件中。 默认情况下,配置保存为 rtconfig.h。
下面的例子显示了在一个项目头文件中定义的标志,项目是启用FLASH控制器,NOR-FLASH模式启用,使用FLASH控制器1和2的NOR模式,FLASH1大小为2MB,FLASH2为32MB。 步骤选择配置:
要在 rt-tread 上启用 ADC 设备,它还使用 menuconfig 工具并包含在头文件中。 启用 RT-DEVICE flash 界面的步骤(在 menuconfig 主菜单中):
配置完成后,用户需要在所有需要访问驱动程序的源代码中包含头文件。
对于每个 adc 插槽,都有一个引脚,但该引脚可以复用到不同的功能。 在将其用作 ADC 之前,我们需要设置它的 pinmux 功能,这里是将 pin 设置为 ADC SLOT 0 的示例,更多详细信息需要检查硬件 pinmux 表:
需要2个不同的电压,得到它们的寄存器值,可以得到准确的偏移量和比率(mv per bit)。
适配器层注册 RT-Thread 请求的硬件支持功能,并使用 HAL 实现这些功能。 对于使用 RT-Thread 的用户,可以使用以下代码作为示例: