MM32L073FP片上集成了一个逐次逼近最高可编程12位精度ADC模块,并具有高达1Msps转换速率,最高支持10个外部采集通道,两个内部通道。
本次实验使用了内部温度传感器通道,并将转换的温度值通过UART2传送至PC端。
对于温度数据的转换手册中有明确的说明:
实验代码参考了官方DEMO,如下:
int main(void)
{
uint16_t ADCVAL;
float Temperature;
delay_init();
uart_initwBaudRate(115200);
ADC1_SingleChannel( ADC_Channel_10);
while(1)
{
ADCVAL = Get_Adc_Average(ADC_Channel_10,10) * 3300 / 4096;
Temperature = (ADCVAL - 1451) / 4.801 + 25;
printf("Temperature:%.2f °C\r\n",Temperature);
delay_ms(1000);
}
}
ADC.rar
(255.34 KB)
|