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

資源簡(jiǎn)介

基于HAL庫的BH1750驅(qū)動(dòng)代碼,通訊方式為模擬IIC,非常適合在使用hal庫的stm開發(fā)版上移植(僅需改IO)

資源截圖

代碼片段和文件信息

#include?“BH1750.h“

uchar????BUF[8];?????????????????????????//接收數(shù)據(jù)緩存區(qū)??????
int?????dis_data;???????????????????????//變量
int???mcy;??????????????//表示進(jìn)位標(biāo)志位
float?Value_GY_30;

void?GPIOConfig(void)
{
??GPIO_InitTypeDef?GPIO_InitStruct;

??/*?GPIO?Ports?Clock?Enable?*/
??__HAL_RCC_GPIOD_CLK_ENABLE();
??__HAL_RCC_GPIOB_CLK_ENABLE();
??__HAL_RCC_GPIOA_CLK_ENABLE();

??/*Configure?GPIO?pin?Output?Level?*/
??HAL_GPIO_WritePin(GPIOB?GPIO_PIN_0|GPIO_PIN_1?GPIO_PIN_RESET);

??/*Configure?GPIO?pins?:?PB0?PB1?*/
??GPIO_InitStruct.Pin?=?GPIO_PIN_0|GPIO_PIN_1;
??GPIO_InitStruct.Mode?=?GPIO_MODE_OUTPUT_PP;
??GPIO_InitStruct.Speed?=?GPIO_SPEED_FREQ_LOW;
??HAL_GPIO_Init(GPIOB?&GPIO_InitStruct);

// GPIO_InitTypeDef?GPIO_InitStruct;

// ???/*開啟GPIOB的外設(shè)時(shí)鐘*/?
// ??RCC_APB2PeriphClockCmd(?RCC_APB2Periph_GPIOB?ENABLE);?
//
//????GPIO_InitStruct.GPIO_Mode?=?GPIO_MODE_OUTPUT_PP;??
//????GPIO_InitStruct.GPIO_Speed?=?GPIO_Speed_50MHz;
//????GPIO_InitStruct.GPIO_Pin?=?sda?|?scl?;
//????GPIO_Init(GPIOB?&GPIO_InitStruct);?
}

//系統(tǒng)主頻72MHZ
void?delay_us(uint16_t?us)
{
while(us--)
{
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();
}
}


void?Delay_mms(uint16_t?tmp)
{
??uint16_t?i=0;
??while(tmp--)
??{
i=12000;
while(i--);
??????}
}


/***開始信號(hào)***/
void?BH1750_Start()
{
????HAL_GPIO_WritePin(GPIOB?sdaGPIO_PIN_SET);????????????????????//拉高數(shù)據(jù)線
????HAL_GPIO_WritePin(GPIOB?sclGPIO_PIN_SET);???????????????????//拉高時(shí)鐘線
????delay_us(5);?????????????????//延時(shí)
????HAL_GPIO_WritePin(GPIOB?sdaGPIO_PIN_RESET);????????????????????//產(chǎn)生下降沿
????delay_us(5);?????????????????//延時(shí)
????HAL_GPIO_WritePin(GPIOB?sclGPIO_PIN_RESET);????????????????????//拉低時(shí)鐘線
}

/*****停止信號(hào)******/
void?BH1750_Stop()
{
????HAL_GPIO_WritePin(GPIOB?sdaGPIO_PIN_RESET);???????????????????//拉低數(shù)據(jù)線
????HAL_GPIO_WritePin(GPIOB?sclGPIO_PIN_SET);??????????????????????//拉高時(shí)鐘線
????delay_us(5);?????????????????//延時(shí)
????HAL_GPIO_WritePin(GPIOB?sdaGPIO_PIN_SET);????????????????????//產(chǎn)生上升沿
????delay_us(5);?????????????????//延時(shí)
}

/**************************************
發(fā)送應(yīng)答信號(hào)
入口參數(shù):ack?(0:ACK?1:NAK)
**************************************/
void?BH1750_SendACK(int?ack)
{
GPIO_InitTypeDef?GPIO_InitStruct;

??GPIO_InitStruct.Pin?=?GPIO_PIN_0|GPIO_PIN_1;
??GPIO_InitStruct.Mode?=?GPIO_MODE_OUTPUT_PP;
??GPIO_InitStruct.Speed?=?GPIO_SPEED_FREQ_LOW;
??HAL_GPIO_Init(GPIOB

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????7947??2019-04-23?18:14??bh1750.c
?????文件?????????888??2019-04-23?18:55??BH1750.h

評(píng)論

共有 條評(píng)論