xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡介

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

資源截圖

代碼片段和文件信息

#include?“BH1750.h“

uchar????BUF[8];?????????????????????????//接收數據緩存區??????
int?????dis_data;???????????????????????//變量
int???mcy;??????????????//表示進位標志位
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的外設時鐘*/?
// ??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);?
}

//系統主頻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--);
??????}
}


/***開始信號***/
void?BH1750_Start()
{
????HAL_GPIO_WritePin(GPIOB?sdaGPIO_PIN_SET);????????????????????//拉高數據線
????HAL_GPIO_WritePin(GPIOB?sclGPIO_PIN_SET);???????????????????//拉高時鐘線
????delay_us(5);?????????????????//延時
????HAL_GPIO_WritePin(GPIOB?sdaGPIO_PIN_RESET);????????????????????//產生下降沿
????delay_us(5);?????????????????//延時
????HAL_GPIO_WritePin(GPIOB?sclGPIO_PIN_RESET);????????????????????//拉低時鐘線
}

/*****停止信號******/
void?BH1750_Stop()
{
????HAL_GPIO_WritePin(GPIOB?sdaGPIO_PIN_RESET);???????????????????//拉低數據線
????HAL_GPIO_WritePin(GPIOB?sclGPIO_PIN_SET);??????????????????????//拉高時鐘線
????delay_us(5);?????????????????//延時
????HAL_GPIO_WritePin(GPIOB?sdaGPIO_PIN_SET);????????????????????//產生上升沿
????delay_us(5);?????????????????//延時
}

/**************************************
發送應答信號
入口參數: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

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

評論

共有 條評論