接上篇帖子: NUCLEO_L552ZE_Q+6、IIC-OLED显示字符 来通ADC采集内部温度传感器通道电压,然后通过公式换算得出MCU内部的大致温度,并在OLED屏上显示出来(不是很精确,只作参考)。 4 m; t9 B) z& ]5 M8 I2 r3 V. t) ^ 在L552ZE的用户资料手册中没有找到ADC电压转换为温度的公式,在网上找了一个: 9 ^) y+ i: d: a 手册上给出了此公式要用的几个参数值: 打开上篇的CubeMX工程,原来的设置不变,再增加ADC的通道设置,并另存工程为ADC-Temp:0 n9 f6 {7 \# _1 c2 u ' h9 s3 E. \. e- s 生成工程文件,并打开文件,添加OLED驱动文件,修改main.c文件,添加相关代码如下 :( |" U& S7 k" A+ s) T8 A- C+ V - x u* x; L- p# _. Z- M 设置ST-Link为烧录后自动复位(懒得按复位键): / Y8 K. m. ?3 L9 Y2 n R, N$ A3 a( Z, A, E 编译并下载,运行效果如图:6 j7 K( \) V+ e6 `0 S5 u" V 注:此温度转换不是很精确,只作参考;另外如果转换公式运用有不当的,请大家指出,共同进步。谢谢!6 p- L3 r/ |8 g" B5 L J 1 F7 C6 l" [! K i2 U- r |
wonderful........ |