#include /* 已使用ADC端口 P25 AD3 SREF !>禁用 P24 AD2 OVP P16 AD9 NTC P34 AD7 IBUS !> AD6需要外部接入2.5V分压并开启AD6通道 否则会影响AD7采样数据 特殊端口 AD0 U相电流采样 AD1 V相电流采样 AD4 W相电流采样或者母线电流采样 */ /** @function ADC_Init @brief ADC初始化 @date 2025-12-23 */ void ADC_Init(void) { // 配置参考电压为5V SetReg(VREF_VHALF_CR, VRVSEL1 | VRVSEL0, VRVSEL0); // 配置半电压为2.5V SetBit(VREF_VHALF_CR, VHALFSEL1 | VHALFSEL0); // 使能VREF输出 SetBit(P3_AN, PIN5); SetBit(P3_OE, PIN5); // 使能基准电压与半电压 SetBit(VREF_VHALF_CR, VREFEN | VHALFEN); // 端口使能 SetBit(P1_AN, PIN6); SetBit(P2_AN, PIN4 | PIN5); SetBit(P3_AN, PIN4); // 通道使能 SetBit(ADC_MASK, CH2EN | CH3EN | CH7EN | CH9EN); SetBit(ADC_MASK, 0x3000); ADC_SCYC = 0x33; // 高位对齐 SetBit(ADC_CR, ADCALIGN); ClrBit(ADC_CR, ADCIE); SetBit(ADC_CR, ADCEN); }