接上篇帖子: NUCLEO_L552ZE_Q+6、IIC-OLED显示字符 来通ADC采集内部温度传感器通道电压,然后通过公式换算得出MCU内部的大致温度,并在OLED屏上显示出来(不是很精确,只作参考)。 在L552ZE的用户资料手册中没有找到ADC电压转换为温度的公式,在网上找了一个:' \/ v! G2 |: k # {; H/ H! z4 L5 C- M 手册上给出了此公式要用的几个参数值:- p9 J. n$ P+ b6 Q( z3 [+ I 2 {2 Q' J8 N* I; ~1 @' O, o- q 0 z: |) W2 e5 j% e+ P 打开上篇的CubeMX工程,原来的设置不变,再增加ADC的通道设置,并另存工程为ADC-Temp:' i% u. D- H1 x. }6 T+ ~ " W1 ^/ a' a/ Z2 k9 [ [ f & h! ?- f m4 U2 D& Q 生成工程文件,并打开文件,添加OLED驱动文件,修改main.c文件,添加相关代码如下 :5 D2 {6 w6 H* x4 O" L 设置ST-Link为烧录后自动复位(懒得按复位键): 2 d \, k. f; e! o 编译并下载,运行效果如图:' W2 c# H ^# s) u/ |0 u . k( l( }% p$ }5 S( n' V n 9 `4 k/ o, m# G1 ~7 N/ W 注:此温度转换不是很精确,只作参考;另外如果转换公式运用有不当的,请大家指出,共同进步。谢谢! |
wonderful........ |