本文整理汇总了C++中SDA_OUT函数的典型用法代码示例。如果您正苦于以下问题:C++ SDA_OUT函数的具体用法?C++ SDA_OUT怎么用?C++ SDA_OUT使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了SDA_OUT函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SDA_IN
char MOD_IO2::ReadSingle( char ack )
{
char data = 0, i;
SDA_IN();
for(i = 0; i < 8; i++)
{
WaitMicrosecond(1000);
SCL_IN();
while(digitalRead(pinSCL)==0);
WaitMicrosecond(1000);
data |= digitalRead(pinSDA);
if( i!=7 )
data<<=1;
WaitMicrosecond(1000);
SCL_OUT();
WaitMicrosecond(1000);
}
// send the ACK/NACK
WaitMicrosecond(1000);
if(ack)
SDA_IN();
else
SDA_OUT();
WaitMicrosecond(1000);
SCL_IN();
WaitMicrosecond(1000);
SCL_OUT();
WaitMicrosecond(1000);
return data;
}
示例2: IIC_Wait_Ack1
u8 IIC_Wait_Ack1(void)
{
u8 i;
IIC_SCL=1;
delay_us(2);
IIC_SCL=0;
SDA_OUT();
IIC_SDA = 1;
delay_us(2);
IIC_SDA = 0;
delay_us(1);
IIC_SCL = 1;
IIC_SDA = 1;
delay_us(10);
// for (i=0; i<100; i++)
// {
// SDA_IN();
// if (READ_SDA == 1){
// // if data line is low, pulse the clock.
// delay_us(10);
// return 0;
// }
// }
// IIC_SCL=1;
return 1;
}
示例3: SDA_OUT
void MOD_IO2::Start()
{
SDA_OUT();
WaitMicrosecond(1000);
SCL_OUT();
WaitMicrosecond(1000);
}
示例4: sread
/*---------------------------------------------------------------------------*/
static unsigned
sread(int send_ack)
{
int i;
unsigned char c = 0x00;
SDA_1();
SDA_IN();
for(i = 0; i < 8; i++) {
c <<= 1;
SCL_1();
delay_400ns();
if(SDA_IS_1) {
c |= 0x1;
}
SCL_0();
}
SDA_OUT();
if(send_ack) {
SDA_0();
}
SCL_1();
delay_400ns();
SCL_0();
SDA_1(); /* Release SDA */
SDA_IN();
return c;
}
示例5: i2c_pic_start
void i2c_pic_start(void)
{
// PIC chip requires a special double start condition in order
// to initiate communication. This is to insure the PIC does not
// read any false starts.
// MDF 12/01/04
// 1st start condition
// SDA_OFF;
// _delay_loop_2(250);
// SCL_OFF;
// _delay_loop_2(200);
delay_us(100);
SDA_OUT(); //sda线输出
IIC_SDA = 0;
delay_us(100);
IIC_SCL = 0;
delay_us(100);
// reset bus
// SDA_ON;
// SCL_ON;
// _delay_loop_2(200);
IIC_SDA = 1;
delay_us(100);
IIC_SCL = 1;
delay_us(100);
// 2nd start condition
// SDA_OFF;
// _delay_loop_2(200);
// SCL_OFF;
IIC_SDA = 0;
delay_us(100);
IIC_SCL = 0;
}
示例6: IIC_InitPort
/*******************************************************************************
**函 数: IIC_InitPort
**功 能: IIC接口初始化
**参 数: void
**返 回: void
*******************************************************************************/
void IIC_InitPort(void)
{
printf("\n BL5372 IIC Port Init");
// Init IIC_1_SCL_PIN
gpio_init(&gpio_iic_1_scl, IIC_1_SCL_PIN);
gpio_dir(&gpio_iic_1_scl, PIN_OUTPUT); // Direction: Output
gpio_mode(&gpio_iic_1_scl, PullNone); // No pull
gpio_write(&gpio_iic_1_scl, 1);
// Init IIC_1_SDA_PIN
gpio_init(&gpio_iic_1_sda, IIC_1_SDA_PIN);
gpio_dir(&gpio_iic_1_sda, PIN_OUTPUT); // Direction: Output
gpio_mode(&gpio_iic_1_sda, PullNone); // No pull
gpio_write(&gpio_iic_1_sda, 1);
SDA_OUT();
SCL_OUT();
SCL1;
SDA1;
}
示例7: WaitMicrosecond
char MOD_IO2::WriteSingle( char data )
{
char i;
// Send the 8 bits
for(i = 0; i<8; i++)
{
WaitMicrosecond(1000);
if(data&RW_MASK)
SDA_IN();
else
SDA_OUT();
data <<= 1;
WaitMicrosecond(1000);
SCL_IN();
WaitMicrosecond(1000);
SCL_OUT();
}
// Read the ACK
WaitMicrosecond(1000);
SDA_IN();
WaitMicrosecond(1000);
SCL_IN();
WaitMicrosecond(1000);
i = digitalRead(pinSDA);
SCL_OUT();
WaitMicrosecond(1000);
return i;
}
示例8: SCL_OUT
MOD_IO2::MOD_IO2 (unsigned char Address, unsigned char nSDA, unsigned char nSCL)
{
SL_READ = (Address<<1) | 1;
SL_WRITE = (Address<<1) | 0;
pinSDA = nSDA;
pinSCL = nSCL;
SCL_OUT();
SDA_OUT();
}
示例9: IIC_Stop
static void IIC_Stop(void)
{
SDA_OUT();
IIC_SDA(0);
IIC_SCL(1);
delay_us(4);
IIC_SDA(1);
delay_us(4);
}
示例10: IIC_Stop
//产生IIC停止信号
static void IIC_Stop(void)
{
SDA_OUT();//sda线输出
IIC_SDA(0);//STOP:when CLK is high DATA change form low to high
IIC_SCL(1);
I2C_delay();
IIC_SDA(1);//发送I2C总线结束信号
I2C_delay();
}
示例11: IIC_NAck
//不产生ACK应答
static void IIC_NAck(void)
{
SDA_OUT();
IIC_SDA(1);
IIC_SCL(1);
I2C_delay();
IIC_SCL(0);
I2C_delay();
}
示例12: I2C_NAck
//不产生ACK应答
void I2C_NAck(void)
{
I2C_SCL=0;
SDA_OUT();
I2C_SDA=1;
Delay_NOP_us(2);
I2C_SCL=1;
Delay_NOP_us(2);
I2C_SCL=0;
}
示例13: iic_stop
/**************************实现函数********************************************
*函数原型:void iic_stop(void)
*功 能:产生IIC停止信号
*******************************************************************************/
void iic_stop(void)
{
SDA_OUT(); //sda线输出
IIC_SCL_L();
IIC_SDA_L(); //STOP:when CLK is high DATA change form low to high
delay_us(1);
IIC_SCL_H();
IIC_SDA_H(); //发送I2C总线结束信号
delay_us(1);
}
示例14: iic_nack
/**************************实现函数********************************************
*函数原型:void iic_nack(void)
*功 能:产生NACK应答
*******************************************************************************/
void iic_nack(void)
{
IIC_SCL_L();
SDA_OUT();
IIC_SDA_H();
delay_us(1);
IIC_SCL_H();
delay_us(1);
IIC_SCL_L();
}
示例15: IIC_NAck
//不产生ACK应答
void IIC_NAck(void)
{
SDA_OUT();
IIC_SCL=0;
IIC_SDA=1;
delay_us(2);
IIC_SCL=1;
delay_us(2);
IIC_SCL=0;
}