ADC Read Multiple Channels¶
1 功能概述¶
本例程演示如何使用 ADC HAL Driver 获取芯片 VBAT 电压、芯片温度、以及一个 ADC 外部通道的输入电压。
重要
ADC HAL Driver 中使用了 OS 互斥锁,因此请勿在中断服务程序(ISR)中调用 HAL ADC 相关接口!
2 环境准备¶
硬件设备与线材:
PAN107X EVB 核心板与底板各一块
JLink 仿真器(用于烧录例程程序)
USB-TypeC 线一条(用于底板供电和查看串口打印 Log)
杜邦线数根或跳线帽数个(用于连接各个硬件设备)
硬件接线:
将 EVB 核心板插到底板上
使用 USB-TypeC 线,将 PC USB 插口与 EVB 底板 USB->UART 插口相连
使用杜邦线将 EVB 底板上的 TX 引脚接至核心板 P16,RX 引脚接至核心板 P17
使用杜邦线将 JLink 仿真器的:
SWD_CLK 引脚与 EVB 底板的 P00 排针相连
SWD_DAT 引脚与 EVB 底板的 P01 排针相连
SWD_GND 引脚与 EVB 底板的 GND 排针相连
PC 软件:
串口调试助手(UartAssist)或终端工具(SecureCRT),波特率 921600(用于接收串口打印 Log)
3 编译和烧录¶
例程位置:<PAN10XX-NDK>\01_SDK\nimble\samples\peripheral\adc_read_multiple_channels\keil_107x
双击 Keil Project 文件打开工程进行编译烧录。
4 例程演示说明¶
烧录完成后,芯片会通过串口打印初始化 Log:
Try to load HW calibration data.. DONE. - Chip Info : 0x61 - Chip CP Version : 3 - Chip FT Version : 9 - Chip MAC Address : E1A000095833 - Chip UID : A56407455338323633 - Chip Flash UID : 425032323033371410EE02464702B378 - Chip Flash Size : 512 KB (Inc. 4KB Panchip Info Area) - Current Flash Map : +-------------------------+ <- Addr: 0x00000 | App Partition | | (480 KB) | +-------------------------+ <- Addr: 0x78000 | KVStore Partition | | ( 16 KB) | +-------------------------+ <- Addr: 0x7C000 | User Custom Partition | | ( 12 KB) | +-------------------------+ <- Addr: 0x7F000 | Panchip Info Area | | (4 KB, Hidden) | +-------------------------+ <- End : 0x80000 (512 KB) The RCL clock frequency (after calibrate) is 32002 Hz
观察 log,程序周期性地打印芯片温度,芯片 Vbat 电压,以及 ADC 外部通道 3 输入电压:
[I] App started.. [I] ->> ADC Channel (CH3): 799.28 mV [I] ->> Baterry Voltage (VBAT): 3314 mV [I] ->> SoC Temperature: 24.44 C [I] ->> ADC Channel (CH3): 799.27 mV [I] ->> ADC Channel (CH3): 798.38 mV [I] ->> Baterry Voltage (VBAT): 3308 mV [I] ->> SoC Temperature: 24.35 C [I] ->> ADC Channel (CH3): 798.67 mV [I] ->> ADC Channel (CH3): 798.37 mV [I] ->> SoC Temperature: 24.49 C [I] ->> ADC Channel (CH3): 798.39 mV [I] ->> Baterry Voltage (VBAT): 3313 mV