一、cubmax设置
PA0作为DS18B20数据口
打开串口1,显示温度信息
时钟树设置72MHZ。
二、程序
头文件
/* USER CODE BEGIN Includes */ #include "DS18B20.h" #include "stdio.h" /* USER CODE END Includes */
串口重定向
/* USER CODE BEGIN 0 */ int fputc(int ch ,FILE *f){ HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, 0xffff); return ch; } float temperature; /* USER CODE END 0 */
DS18B20初始化
/* USER CODE BEGIN 2 */ DS18B20_Start(); // ds1820 start convert temperature=DS18B20_Get_Temp(); HAL_Delay(750); printf("DS18B20 init success!!!\r\n"); /* USER CODE END 2 */
显示温度数据
while (1) { temperature=DS18B20_Get_Temp(); printf("当前温度: %.2f\r\n", temperature); HAL_Delay(100); /* 100ms 读取一次温度值 */ /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ }
DS18B20驱动
链接:https://pan.baidu.com/s/1AcReAjdcxlw8RmoquWxcNw
提取码:8fyt
三、Proteus设置
虚拟串口
单片机时钟72MHZ
四、演示效果
标签:仿真,BEGIN,CODE,END,temperature,DS18B20,stm32,USER From: https://www.cnblogs.com/CC-C/p/17372875.html