1、简介
买的传感器给的程序都是库函数,现在主推HAL库,因此本次通过STM32F103C8T6单片机通过HAL库对GY-906进行驱动,并且通过串口发送数据到串口调试助手。
2、CubeMax操作流程
1、SYS配置如下图所示。
2、RCC配置如下图所示。
3、时钟树配置如下图所示。
直接在红框内输入下方数值,回车确定即可自动对时钟树进行配置。
4、GPIO初始化配置如下图所示。
5、串口初始化配置。
6、生成代码。
3、Keil 5端操作流程
1.添加GY906库文件
在生成的文件夹中建议新文件夹icode如下所示。
接着在新文件夹中复制gy-906库文件如下所示。
库文件文件链接如下所示。
链接:https://pan.baidu.com/s/1u52NPOWsM9EGvl4RUT-53Q 提取码:vdlo --来自百度网盘超级会员V3的分享
接着在Keil中对驱动文件进行添加,过程如下所示。
如上图所示,将GY906.c文件添加,接着对GY906.h文件进行添加。
2、程序书写
首先需要对GY906.h头文件引用,接着对串口1重映射,方便通过Printf函数对数据进行输出,代码如下所示。
/* USER CODE BEGIN Includes */ #include "../../icode/gy-906/GY906.h" #include "stdio.h" int fputc(int ch, FILE *f) { uint8_t temp[1] = {ch}; HAL_UART_Transmit(&huart1, temp, 1, 2); return ch; } /* USER CODE END Includes */
接着在主函数循环中对数据进行输出。
while (1) { printf("%.2f\r\n",SMBus_ReadTemp()); HAL_Delay(1000); /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ }
通过串口调试助手显示如下所示。
以上问题如果错误,恳请各位大佬指正。