买了个山寨的逻辑分析仪,I2C协议用的网上下来模拟方式的,驱动si7021温湿度传感器。
大致代码如下
unsigned int TemReadByte(u8 com)//发送数据
{
u8 data[2]={0};//2个字节
int value=0;
IIC_Start1();
IIC_Send_Byte(0x80);//写命令
if(IIC_Wait_Ack())
{
return 0;
}
IIC_Send_Byte(0xE3);//写命令
if(IIC_Wait_Ack())
{
return 0;
}
delay_ms(40);
IIC_Start1();
IIC_Send_Byte(0x81);//读取命令
if(IIC_Wait_Ack())
{
return 0;
}
data[0]=IIC_Read_Byte(0);
data[1]=IIC_Read_Byte(1);
IIC_Stop1();
value=(data[0]<<8)+data[1];
return value;
}
用这个渣渣逻辑分析仪抓到了两段波形(只能触发一次) |