蓝桥杯—PCF8591、IIC总线、EEPROM介绍
1、IIC总线相关介绍 I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。下面根据官方提供的库文件,介绍需要注意的函数有: (1)void init_pcf8591(void) void init_pcf8591(void) { i2c_start(); i2c_sendbyte(0x90); i2c_waitack(); i2c_sendbyte(0x03); //ADC通道3 i2c_waitack(); i2c_stop(); operate_delay(10); } 这个函数为PCF8591初始化函数,对于选择通道函数为i2c_sendbyte(),上述代码选择通道3。 最后两位配置选择哪个通道 ,其余位不用管。 (2)unsigned char adc_pcf8591(void) unsigned char adc_pcf8591(void) { unsigned char temp; i2c_start(); i2c_sendbyte(0x91); i2c_waitack(); temp = i2c_receivebyte(); i2c_sendack(1); i2c_stop(); return temp; }