在例程中存在一个利用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);
  • }
  • }
  • 复制代码
    温度检测效果图
    image.png