找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2227|回复: 1
收起左侧

正式开始的第一个项目:stm32+dht11+oled+bh1750代码

[复制链接]
ID:958636 发表于 2022-2-27 14:37 | 显示全部楼层 |阅读模式

实物图片

实物图片

串口数据

串口数据


楼下是main.c函数,有关于引脚接口,在代码里面都有,可以下载查看
51hei.png
Keil代码下载: stm32c8t6TEMP.7z (215.92 KB, 下载次数: 82)
回复

使用道具 举报

ID:958636 发表于 2022-2-27 14:38 | 显示全部楼层
#include "stm32f10x.h"
#include "delay.h"
#include "oled.h"
#include "sys.h"
#include "DTH117.h"
#include "usart.h"
#include "timer.h"
#include "led.h"
#include "bh1750.h"
u8 temp = 0;//定义全局变量
u8 humi = 0;
u8 t = 0;
u8 light = 0;

void TIM2_Int_Init(u16 arr,u16 psc);//对该函数进行提前声明,防止**《》**标记行报错
//void LED_Init();//包含了头文件这个可以省
int main()
{               
                SystemInit();//开启系统时钟
                delay_init();//初始化延时函数       
                TIM2_Int_Init(4999,7199);//**《》**       
//                LED_Init();
                NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
                //0正常显示;1对应的反显和旋转显示。
                OLED_ColorTurn(0);
                OLED_DisplayTurn(0);
                OLED_Init();//oled初始化
//                OLED_Clear();//对oled进行一次清屏
/*******************************dht11操作函数*********************************/
                Usart1_Init(115200);//开启串口一
                DHT11_Init();//初始化dht11模块
                bh1750_Init();//初始化bh1750
//显示温湿度       

                                OLED_ShowChinese(0,16,4,16,1);
                                OLED_ShowChinese(16,16,3,16,1);
                                OLED_ShowChinese(32,16,5,16,1);
                       
                                OLED_ShowChinese(0,32,2,16,1);
                                OLED_ShowChinese(16,32,3,16,1);
                                OLED_ShowChinese(32,32,5,16,1);
                                //显示冒号u8*是强制类型转换
                                OLED_ShowString(49,16,(u8*)":",16,1);
                                OLED_ShowString(49,32,(u8*)":",16,1);
                                OLED_Refresh();
                while(1){
/*******************函数功能:启动dht11并进行温湿度检测,进行串口打印******************/
//                                DHT11_Read_Data(&temp,&humi);//DHT11读取数据
//                               
//                                UsartPrintf(USART_DEBUG,"湿度%d 温度%d",temp,humi);//串口打印函数
//                                delay_ms(100);//延时0.1秒
/*******************函数功能:启动BH1750光照强度传感器********************/
//                                 Light=getValue();
//                                bh1750_ReadOneTime();
//                                bh1750_ReadContinuous1();
/*******************函数功能:启动OLED显示屏********************/
//这个函数没用起来,还请大佬门在评论区帮忙解决一下,骂轻点。。。。
//////////                                OLED_ShowString(35,16,(u8*)"湿度:",16,1);
//////////                                OLED_ShowString(35,32,(u8*)"温度:",16,1);
//////////                                OLED_Refresh();
                               
                                if(t%10==0)                        //每100ms读取一次
                                {                                               
                                        DHT11_Read_Data(&temp,&humi);        //读取温湿度
                                        UsartPrintf(USART_DEBUG,"湿度%d 温度%d",temp,humi);        //打印串口数据        ,再加一个光照强度%d    light                            
                                        OLED_ShowNum(57,16,humi,2,16,1);        //显示湿度                    
                                        OLED_ShowNum(57,32,temp,2,16,1);        //显示温度        
//                                 OLED_ShowNum(57,64,light,2,16,1);          
                                        OLED_Refresh();                //更新显示到OLED
                                }                                  
                                delay_ms(50);
                                t++;
                                       
               
        }  
//////////                OLED_ShowString(0,0,(u8*)"温度",16,0);       
//delay_ms(5000);
}


       

第一次发见谅,main.c没发出去
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表