微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 之————05 ADC测芯片温度+串口输出

之————05 ADC测芯片温度+串口输出

时间:10-02 整理:3721RD 点击:

   上一次做了串口通信,这些在串口通信上增加ADC测量芯片温度。一开始用错了计算公式,计算的数据不对。先上一下结果图。  


一、首先开F412芯片IN0-15共16路外部通道,可以进行16路外部转换,同时还有IN16内部温度通道、IN17内部参考电压通道、IN18电池充电监测通道(其中IN16与IN18为选其一的关系) 。




//Vsense为采样数据转化成的电压       Vsense=MCU_Temperature_ConvertedValue*3.3/4096
//计算公式                                       温度(度)={(Vsense-V25)/Avg_Slope}+25
二、前面进行过串口测试  【NUCLEO-F412ZG试用体验】之---04串口通信测试
三、进行ADC配置,如下图只打开温度传感器通道,并设置好初始化,并生成工程。


四、编程



五、由于本次采用printf函数串口进行输出。
      5.1 须要增加 #include <stdio.h>头文件。
      5.2 只增加头文件运行会进入死循环。
      5.3 printf执行时每个字符会调用int fputc(int ch, FILE *f),所以只要将fputc进行重定义。记字符一个个输出去。
int fputc(int ch, FILE *f)
{
uint8_t ch1[1];
ch1[0]=ch;        
HAL_UART_Transmit(&huart6,ch1,1,10);                       //将传过来的字符发送出去
while (!(&huart6.Instance ->SR && UART_FLAG_TXE));
return ch;
}
六、输出结果就如前述了。

小编厉害啊,多向你学习学习啊

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top