上海航芯 ACM32F070开发板+串口打印ADC通道的电压值
[复制链接]
如果串口不会设置的,请看下面连接,串口的设置。
https://bbs.eeworld.com.cn/thread-1221539-1-1.html
首先上原理图,找到MCU管脚的相关ADC,
不明白位置 的可以查看规格书10页,上面有每个IO的功能。
ADC的结构框图如下:请查看用户手册
ADC的时序图在规格书的413页(用户手册)
下面上代码:
函数:
uint32_t i, VrefP, Voltage;
uint32_t lu32_COM_OK = 0;
printfS("The ADC test ADC_Test_Polling_Nchannels start.");
VrefP = ADC_GetVrefP(ADC_CHANNEL_8);
printfS("The VrefP value is : %d \r\n", VrefP);
UserKEY_Init();
printfS("---------- Please press the USR_PB button ----------\r\n");
ADC_Init_Polling_Nchannels();
while(1)
{
while(false == UserKEY_Get());
System_Delay_MS(500);
for (i = 0; i < BUFFER_LENGTH; i++)
{
gu32_AdcBuffer = 0;
}
HAL_ADC_Polling(&ADC_Handle, gu32_AdcBuffer, ADC_Handle.ChannelNum, 0);
printfS("The adc convert result : ADC_CHANNEL_1 ");
Voltage = (gu32_AdcBuffer&0xFFF)*VrefP/4095;
printfS("The Voltage is: %d mV \r\n", Voltage);
}
}
主函数调用就可以打印出这个电压值。
这个是各个通道的电压值。
|