标题:
STM32F103C8 HTU21D IIC模拟读取温湿度源程序
[打印本页]
作者:
pomtom
时间:
2018-3-31 21:29
标题:
STM32F103C8 HTU21D IIC模拟读取温湿度源程序
STM32F103C8 HTU21D IIC模拟读取温湿度程序
一、工程说明
1、时间: 2016年10月18日
2、开发环境:MDK-ARM V5.21a (建议在V5.20及以上版本使用)
3、标准库: V3.5.0
4、工程版本:V1.0.0
5、目标芯片:STM32F10x_MD中容量芯片
单片机源程序如下:
/**
******************************** STM32F10x *********************************
* @文件名 : main.c
* @作者 : strongerHuang
* @库版本 : V3.5.0
* @文件版本 : V1.0.0
* @摘要 : 主函数 - 定时器(TIM)计数延时
间隔(定时器延时)500ms LED变化一次, 并且串口打印
******************************************************************************/
/*----------------------------------------------------------------------------
更新日志:
2016-05-04 V1.0.0:初始版本
----------------------------------------------------------------------------*/
/* 包含的头文件 --------------------------------------------------------------*/
#include "bsp.h"
#include "timer.h"
#include "usart.h"
#include "oled.h"
#include "spi.h"
#include "myiic.h"
#include "htu21.h"
extern uint8_t buf[];
unsigned char ASCII[15] = {'0','1','2','3','4','5','6','7','8','9','.','C','%',':','-'};
unsigned char str1[7], str2[7];
/************************************************
OLED显示HTU21温湿度
*************************************************/
void Temp_Rh(void)
{
sensor_read(0xE3); //读取温度
// data_change();
TIMDelay_Nms(10);
sensor_read(0xE5); //读取湿度
data_change();
/**********OLED***************/
str1[0] = ASCII[buf[0]];
str1[1] = ASCII[buf[1]];
str1[2] = ASCII[10];
str1[3] = ASCII[buf[2]];
str1[4] = ASCII[buf[3]];
str1[5] = ASCII[11];
str1[6] = ' ';
OLED_8x16Str(80,4,str1);
str2[0] = ASCII[buf[4]];
str2[1] = ASCII[buf[5]];
str2[2] = ASCII[10];
str2[3] = ASCII[buf[6]];
str2[4] = ASCII[buf[7]];
str2[5] = ASCII[12];
str2[6] = '\n';
OLED_8x16Str(80,6,str2);
}
/************************************************
函数名称 : System_Initializes
功 能 : 系统初始化
参 数 : 无
返 回 值 : 无
作 者 : strongerHuang
*************************************************/
void System_Initializes(void)
{
BSP_Initializes();
TIMER_Initializes();
USART_Initializes();
SPI_Configuration();
OLED_Init();
sensor_iic_init();
}
/************************************************
函数名称 : main
功 能 : 主函数入口
参 数 : 无
返 回 值 : int
作 者 : strongerHuang
*************************************************/
int main(void)
{
System_Initializes();
OLED_CLS();
OLED_8x16Str(0,0," ");
OLED_8x16Str(0,2," ");
OLED_8x16Str(0,4,"Temp: ");
OLED_8x16Str(0,6,"Humd: ");
while(1)
{
LED_TOGGLE; //LED开关(亮灭变化)
// USART1_Printf((uint8_t*)"TIMDelay500ms..\n"); //打印输出
// TIMDelay_Nms(500); //TIM延时500ms
Temp_Rh();
USART1_SendNByte(str1,7);
USART1_SendNByte(str2,7);
TIMDelay_Nms(2000);
}
}
/**** Copyright (C)2016 strongerHuang. All Rights Reserved **** END OF FILE ****/
复制代码
下载:
STM32F103C8_TIM_HTU21(IIC).rar
(307.08 KB, 下载次数: 133)
2018-4-1 01:21 上传
点击文件名下载附件
HTU21D
下载积分: 黑币 -5
作者:
cxfghr
时间:
2018-5-11 14:46
感谢楼主!!!!!!!!!!
作者:
hanson0520
时间:
2018-5-11 17:56
谢谢分享。
作者:
tgy666
时间:
2018-6-6 15:08
很给力
作者:
tgy666
时间:
2018-6-6 15:11
感谢楼主
作者:
shilinlin
时间:
2019-10-22 16:16
感谢楼主分享
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1