|
STM32F103C8 HTU21D IIC模擬讀取溫濕度程序
一、工程說明
1、時間: 2016年10月18日
2、開發(fā)環(huán)境:MDK-ARM V5.21a (建議在V5.20及以上版本使用)
3、標(biāo)準(zhǔn)庫: V3.5.0
4、工程版本:V1.0.0
5、目標(biāo)芯片:STM32F10x_MD中容量芯片
單片機(jī)源程序如下:
- /**
- ******************************** STM32F10x *********************************
- * @文件名 : main.c
- * @作者 : strongerHuang
- * @庫版本 : V3.5.0
- * @文件版本 : V1.0.0
- * @摘要 : 主函數(shù) - 定時器(TIM)計數(shù)延時
- 間隔(定時器延時)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);
- }
- /************************************************
- 函數(shù)名稱 : System_Initializes
- 功 能 : 系統(tǒng)初始化
- 參 數(shù) : 無
- 返 回 值 : 無
- 作 者 : strongerHuang
- *************************************************/
- void System_Initializes(void)
- {
- BSP_Initializes();
- TIMER_Initializes();
- USART_Initializes();
- SPI_Configuration();
- OLED_Init();
- sensor_iic_init();
- }
- /************************************************
- 函數(shù)名稱 : main
- 功 能 : 主函數(shù)入口
- 參 數(shù) : 無
- 返 回 值 : 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開關(guān)(亮滅變化)
- // 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 ****/
復(fù)制代碼
下載:
STM32F103C8_TIM_HTU21(IIC).rar
(307.08 KB, 下載次數(shù): 133)
2018-4-1 01:21 上傳
點(diǎn)擊文件名下載附件
HTU21D
|
|