91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-19
  • 語言: 其他
  • 標簽: 傳感器??

資源簡介

基于STM32F103的SHT11溫濕度傳感器采集程序

資源截圖

代碼片段和文件信息

/*************************************************
?*
?*?????????DS10采集程序
?*
?*?????????
?*????????
?*?????????
?*?????????
?***************************************************/



#include?“dsh10.h“
#include?“delay.h“

//溫度轉換結果
????float?TempResult;
????//濕度轉換結果
????float?HumResult;

?

/*???PA5PA4??????*/
void?Dsh10_Config(void)
{
???GPIO_InitTypeDef?GPIO_InitStructure;
???/*?Enable?GPIOC??clock?*/
??RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB?ENABLE);
??GPIO_InitStructure.GPIO_Pin?=??DS_DATA_BIT|DS_CLK_BIT;
??GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_Out_PP;
??GPIO_InitStructure.GPIO_Speed?=GPIO_Speed_50MHz;
??GPIO_Init(GPIOB?&GPIO_InitStructure);
??
}


void?DS_DATA_GPIO_OUTPUT(void)
{
??GPIO_InitTypeDef?GPIO_InitStructure;
???/*?Enable?GPIOC??clock?*/
??RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB?ENABLE);
??GPIO_InitStructure.GPIO_Pin?=??DS_DATA_BIT;
??GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_Out_PP;
??GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
??GPIO_Init(GPIOB?&GPIO_InitStructure);
}
void?DS_DATA_GPIO_INPUT(void)
{
??GPIO_InitTypeDef?GPIO_InitStructure;
???/*?Enable?GPIOC??clock?*/
??RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB?ENABLE);
??GPIO_InitStructure.GPIO_Pin?=??DS_DATA_BIT;
??GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IN_FLOATING;//設置為輸入
?//?GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
??GPIO_Init(GPIOB?&GPIO_InitStructure);
}


/*
--------------------------------------
*這里采用typ這里的典型時序

f=0.1MHzT=10uS如何實現(xiàn)nS的延時?

采用野火所提供的延時,大概f=10000Hz

--------------------------------------
*/


/*
*
*????name:????????DS_Start
*????function:????sht10?start?pragram
*???????????????input/output??NON
*
*
*/
void?DS_Start(void)
{
DS_DATA_GPIO_OUTPUT();
??DS_DATA_H();
DS_CLK_L();
??delay_us(16);????//數據線高電平

DS_CLK_H();
delay_us(16);?????//時鐘線拉高

??DS_DATA_L();
??delay_us(16);

??DS_CLK_L();
??delay_us(36);?

??DS_CLK_H();
delay_us(16);

DS_DATA_H();
delay_us(16);

DS_CLK_L();
delay_us(16);
//delay_us(36);

??DS_DATA_L();
delay_us(16);???////整個時序到這里的時候就已經結束了,后面緊跟著測量了
}



/*
?*嚴格按照啟動時序之后的時序圖來寫
?*功能:測量12bit的數據
?*輸入:
?*寫一個字節(jié)到SHT10???CLK周期大概是30uS
?*/
unsigned?int??WriteCmd(unsigned?char?cmd)
{
??int?i;???
//DS_DATA_GPIO_OUTPUT();

//delay_us(36);??????????????????????//先延時一段時間,在開始時序之后
??????
for(i=0;i<8;i++)
??{
??????
if((cmd< {
// delay_us(1);
DS_DATA_H();
}
else{
DS_DATA_L();
??????????}
//delay_us(1);//是否應該先延時一點時間再給CLK?
???????CLK();?
?}
//ACK
????????DS_DATA_GPIO_INPUT();
???????//?CLK();?
????????DS_CLK_H();
????????????????????????????????//問題應該在這
????????do???????????????????????/*?這里時序有問題???*/
????????delay_us(1);
????????while(!DS_DATA_STATE);//ACK校驗,在CLK高的時候數據線被拉低

//LED2(0);
DS_CLK_L();
//時鐘拉低
delay_us(16);??

while(DS_DATA_STATE)//等待DATA被拉高
//LED1(0);
// delay_us(1000000);
do

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-04-29?15:59??SHT10\
?????文件????????5978??2016-08-04?17:44??SHT10\Dsh10.c
?????文件?????????990??2016-08-04?17:45??SHT10\dsh10.h

評論

共有 條評論