在例程中存在一个利用A/D转换测量片内温度的程序,参考该程序的设计,我们可以将其改造成一个利用OLED屏来显示温度的温度计。
实现图示效果的主程序如下:
s32 main(void){ DMAInit(); ADCSingleChannelInit(ADCchTemp); //Start Conversion ADC_SoftwareStartConvCmd(ADC1, ENABLE); APP_OLED_Init(); OLED_Init(); OLED_Clear(); OLED_ShowString(0,0,"MM32F0133 ",16); OLED_ShowString(0,2,"Temp test",16); while(1) { //Determine whether the second-order filter is over if(ADCFilterflag) { //Clear the filter end flag ADCFilterflag = 0; //Convert the filtered value to voltage Get_Temperature(); //Start Conversion ADC_SoftwareStartConvCmd(ADC1, ENABLE); } OLED_ShowString(0,5,"Temp= C",16); OLED_ShowNum(40,5,(int) ADCTempValue,4,16); } }
复制代码