标题:
stm32f103c8t6 BME280环境检测程序
[打印本页]
作者:
lg22331
时间:
2021-9-28 17:08
标题:
stm32f103c8t6 BME280环境检测程序
搞了二周终于读取数据了
单片机源程序如下:
#include "includes.h"//添加外部各种头文件
//#include "Globalvariable.h"//添加全局变量 // Device header
int main(void)
{
u8 k=0;
u16 AD1=0;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
uart_init(115200); //串口初始化为9600
delay_init(); //延时函数初始化
LED_Init(); //初始化与LED连接的硬件接口
KEY_Init(); //初始化与按键连接的硬件接口
I2C_GPIO_Config(); //IIC引脚初始化
Adc_Init(); //ADC通道初始化
// TIM1_PWM_Init(899,0); //不分频。PWM频率=72000/(899+1)=80Khz
// TIM4_PWM_Init(7999,8999);//方波频率1Hz
TIM4_PWM_Init(899,0); //方波频率1Hz
delay_ms(10);
Init_MPU6050(); //初始化MPU6050
OLED_Init(); //初始化屏幕OLED
InitBME280(); //初始化BME280
OLED_P16x16Ch(0,0,0);//写温字
OLED_P16x16Ch(16,0,1);//写度字
OLED_P8x16Str(32,0,":");//第一行 -- 8x16的显示单元显示ASCII码
OLED_P16x16Ch(96,0,6);//写度字
OLED_P16x16Ch(0,2,2);//写湿字
OLED_P16x16Ch(16,2,1);//写度字
OLED_P8x16Str(32,2,":");//第一行 -- 8x16的显示单元显示ASCII码
OLED_P8x16Str(96,2,"%");//第一行 -- 8x16的显示单元显示ASCII码
OLED_P16x16Ch(0,4,3);//写高字
OLED_P16x16Ch(16,4,1);//写度字
OLED_P8x16Str(32,4,":");//第一行 -- 8x16的显示单元显示ASCII码
OLED_P16x16Ch(96,4,7);//写米字
OLED_P16x16Ch(0,6,4);//写气字
OLED_P16x16Ch(16,6,5);//写压字
OLED_P8x16Str(32,6,":");//第一行 -- 8x16的显示单元显示ASCII码
OLED_P8x16Str(104,6,"hPa");//第一行 -- 8x16的显示单元显示ASCII码
while(1)
{
////////////////---MPU6050---/////////////////////
// READ_MPU6050(); //读取MPU6050数据
// x1=Single_Read(MPU6050_Addr,GYRO_XOUT_L);
// x2=Single_Read(MPU6050_Addr,GYRO_XOUT_H);
// x3 = (x2<<8)|x1;
// x3 =(double)x3*250/327.68; //读取计算X轴数据
// printf("G_X1=:%d\n",x1);//回车加换行
// printf("X3=:%d\r\n",x3);//回车加换行
OLED_P8x16FLOAT(40,0,BMP280_Temperature()/100,2);//温度
if((0x01&BME280_readdata(0xF3))==1)
{
OLED_P8x16FLOAT(40,2,BMP280_humidity(),2);//湿度
}
OLED_P8x16FLOAT(40,4,BMP280_calcAltitude_AVE(BMP280_calcAltitude()),2);//高度
OLED_P8x16FLOAT(40,6,BMP280_pressure()/100,2);//气压
////////////////---ADC---/////////////////////
AD1=Get_Adc(0);//读取PA0的模拟量输入信号值
//
//////////////////---PWM---/////////////////////
TIM_SetCompare1(TIM4,AD1);//占空比10%
TIM_SetCompare2(TIM4,AD1);//占空比20%
TIM_SetCompare3(TIM4,AD1);//占空比50%
TIM_SetCompare4(TIM4,AD1);//占空比80%
////////////////---LED---/////////////////////
LED_13=!LED_13;
////////////////---KEY---/////////////////////
k=KEY_Scan(0); //得到键值
switch(k)
{
case 1:
LED_14=!LED_14;
break;
case 2:
LED_15=!LED_15;
break;
case 3:
LED_15=!LED_15;
LED_14=!LED_14;
break;
default:
delay_ms(10);
}
}
}
复制代码
所有代码51hei附件下载:
STM32 F103-6050.7z
(210.25 KB, 下载次数: 67)
2021-9-28 23:29 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
lg22331
时间:
2021-9-28 17:10
第一次上传图片
51hei图片_20210928170830.jpg
(884.29 KB, 下载次数: 160)
下载附件
2021-9-28 17:09 上传
作者:
479059413
时间:
2024-3-17 10:47
资料可以学习一下
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1