stm32f103通过485协议读取7合一传感器数据(温度、湿度、氮、磷、钾、ph、电导率)
时间:2024-05-03 20:25:47 来源:网络cs 作者:璐璐 栏目:建站工具 阅读:
stm32f103通过485协议读取7合一传感器数据(温度、湿度、氮、磷、钾、ph、电导率)
本代码原章均为原创、盗发必究
作者手里因为暂时没有大一点的屏幕,所以直接摆烂用了一块0.96寸的屏幕,但并不影响使用,后期将使用机智云平台,通过4G,WIFL数据上云,实现手机查看数据,且将会继续开发,实现智能施肥、浇水、等等功能,既可以做一个很好的毕设,也可以实际落地作为一个完整的项目,作者会持续更新,请随时关注
文章展示部分代码,完整代码文章底部下载
硬件展示:
stm32f103c8t6系统板
485转TTL模块
0.96寸OLED显示屏幕
485转TTL模块
七合一土壤检测传感器485通信协议,宽电压5-30V
数据读取代码展示:
#include "user_usart.h"/** * @brief 配置嵌套向量中断控制器NVIC * @param 无 * @retval 无 */char USART_flag;char USART_data[20];int i=0;int USART_Ready=0;//数据接收完成标志void DEBUG_USART_IRQHandler(void) { if(USART_GetITStatus(DEBUG_USARTx,USART_IT_RXNE)!=RESET){USART_flag = USART_ReceiveData(DEBUG_USARTx);if(USART_flag==0x01)//检测包头{USART_Ready=1;}else if(i==18)//捕捉完成18个字节数据{USART_Ready=0;i=0;}if(USART_Ready==1){USART_data[i]=USART_flag;i++;} USART_ClearFlag(DEBUG_USARTx,USART_IT_RXNE);} }static void NVIC_Configuration(void){ NVIC_InitTypeDef NVIC_InitStructure; /* 嵌套向量中断控制器组选择 */ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); /* 配置USART为中断源 */ NVIC_InitStructure.NVIC_IRQChannel = DEBUG_USART_IRQ; /* 抢断优先级*/ NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; /* 子优先级 */ NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; /* 使能中断 */ NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; /* 初始化配置NVIC */ NVIC_Init(&NVIC_InitStructure);} /** * @brief USART GPIO 配置,工作参数配置 * @param 无 * @retval 无 */void USART_Config(void){GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;// 打开串口GPIO的时钟DEBUG_USART_GPIO_APBxClkCmd(DEBUG_USART_GPIO_CLK, ENABLE);// 打开串口外设的时钟DEBUG_USART_APBxClkCmd(DEBUG_USART_CLK, ENABLE);// 将USART Tx的GPIO配置为推挽复用模式GPIO_InitStructure.GP
本文链接:https://www.kjpai.cn/news/2024-05-03/164585.html,文章来源:网络cs,作者:璐璐,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
上一篇:目标检测——车辆数据集
下一篇:返回列表