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

  • 大小: 3KB
    文件類(lèi)型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-28
  • 語(yǔ)言: 其他
  • 標(biāo)簽: STM32F1??MAX44009??

資源簡(jiǎn)介

max4409光照檢測(cè)stm32作為主控,只需將本代碼代替原子iic程序即可

資源截圖

代碼片段和文件信息

#include?“myiic.h“
#include?“delay.h“

//初始化IIC
void?IIC_Init(void)
{ ?????
GPIO_InitTypeDef?GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB?ENABLE?); //使能GPIOB時(shí)鐘
???
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_Out_PP?;???//推挽輸出
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
GPIO_Init(GPIOB?&GPIO_InitStructure);
GPIO_SetBits(GPIOBGPIO_Pin_6|GPIO_Pin_7);? //PB6PB7?輸出高
}
//產(chǎn)生IIC起始信號(hào)
void?IIC_Start(void)
{
SDA_OUT();?????//sda線(xiàn)輸出
IIC_SDA=1; ?? ??
IIC_SCL=1;
delay_us(4);
? IIC_SDA=0;//START:when?CLK?is?highDATA?change?form?high?to?low?
delay_us(4);
IIC_SCL=0;//鉗住I2C總線(xiàn),準(zhǔn)備發(fā)送或接收數(shù)據(jù)?
} ??
//產(chǎn)生IIC停止信號(hào)
void?IIC_Stop(void)
{
// SDA_OUT();//sda線(xiàn)輸出
// IIC_SCL=0;
// IIC_SDA=0;//STOP:when?CLK?is?high?DATA?change?form?low?to?high
//? delay_us(4);
// IIC_SCL=1;?
// IIC_SDA=1;//發(fā)送I2C總線(xiàn)結(jié)束信號(hào)
// delay_us(4);
SDA_OUT();//sda線(xiàn)輸出
IIC_SDA=0;
? IIC_SCL=1;
delay_us(4);
IIC_SDA=1;//發(fā)送I2C總線(xiàn)結(jié)束信號(hào)
delay_us(4);
}
//等待應(yīng)答信號(hào)到來(lái)
//返回值:1,接收應(yīng)答失敗
//????????0,接收應(yīng)答成功
u8?IIC_Wait_Ack(void)
{
u8?ucErrTime=0;
SDA_IN();??????//SDA設(shè)置為輸入??
IIC_SDA=1;delay_us(2); ???
IIC_SCL=1;delay_us(2); ?
while(READ_SDA)
{
ucErrTime++;
if(ucErrTime>250)
{
IIC_Stop();
return?1;
}
}
IIC_SCL=0;//時(shí)鐘輸出0? ???
return?0;??
}?

//產(chǎn)生ACK應(yīng)答
void?IIC_Ack(void)
{
IIC_SCL=0;
SDA_OUT();
IIC_SDA=0;
delay_us(2);
IIC_SCL=1;
delay_us(2);
IIC_SCL=0;
}
//不產(chǎn)生ACK應(yīng)答 ????
void?IIC_NAck(void)
{
IIC_SCL=0;
SDA_OUT();
IIC_SDA=1;
delay_us(2);
IIC_SCL=1;
delay_us(2);
IIC_SCL=0;
} ? ?????
//IIC發(fā)送一個(gè)字節(jié)
//返回從機(jī)有無(wú)應(yīng)答
//1,有應(yīng)答
//0,無(wú)應(yīng)答 ??
void?IIC_Send_Byte(u8?txd)
{????????????????????????
????u8?t;???
SDA_OUT();? ????
????IIC_SCL=0;//拉低時(shí)鐘開(kāi)始數(shù)據(jù)傳輸
????for(t=0;t<8;t++)
????{??????????????
????????//IIC_SDA=(txd&0x80)>>7;
if((txd&0x80)>>7)
IIC_SDA=1;
else
IIC_SDA=0;
txd<<=1;? ??
delay_us(2);???//對(duì)TEA5767這三個(gè)延時(shí)都是必須的
IIC_SCL=1;
delay_us(2);?
IIC_SCL=0;
delay_us(2);
????} ?
}? ????
//讀1個(gè)字節(jié),ack=1時(shí),發(fā)送ACK,ack=0,發(fā)送nACK???
u8?IIC_Read_Byte(unsigned?char?ack)
{
unsigned?char?ireceive=0;
SDA_IN();//SDA設(shè)置為輸入
????for(i=0;i<8;i++?)
{
????????IIC_SCL=0;?
????????delay_us(2);
IIC_SCL=1;
????????receive<<=1;
????????if(READ_SDA)receive++;???
delay_us(1);?
????} ?
????if?(!ack)
????????IIC_NAck();//發(fā)送nACK
????else
????????IIC_Ack();?//發(fā)送ACK???
????return?receive;
}





/*---------------------------------------------------------------------
?功能描述:?寫(xiě)MAX44009
?參數(shù)說(shuō)明:?REG_Address?-?寄存器地址
?函數(shù)返回:?無(wú)
?---------------------------------------------------------------------*/
void?B_LUX_Single_Write(u8?REG_Address?u8?REG_data)
{?
??IIC_Start();????????????????????????????????????????//起始信號(hào)
??IIC_Send_Byte(B_LUX_SlaveAddress);???????????????????//發(fā)送設(shè)備地址+寫(xiě)信號(hào)
IIC_Wait_Ack();
??IIC_Send_Byte(REG_Address);??????????????????????????//內(nèi)部寄存器地址,請(qǐng)參考中文pdf22頁(yè)?
IIC

?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----

?????文件???????8367??2018-12-10?18:31??MAX44009-STM32F1\myiic.c

?????文件???????1653??2018-12-10?18:32??MAX44009-STM32F1\myiic.h

?????目錄??????????0??2018-12-10?18:33??MAX44009-STM32F1

-----------?---------??----------?-----??----

????????????????10020????????????????????3


評(píng)論

共有 條評(píng)論

相關(guān)資源