12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #include "PCA9548.h"
- #include "delay.h"
- //////////////////////////////////////////////////////////////////////////////////
- // 9548 IIC Switch
- // 2202/12/X GHz_ljw
- // 2203/3/X GHz_ljw
- // 2203/4/X GHz_ljw 合并版
- //////////////////////////////////////////////////////////////////////////////////
- void PCA9548_Switch(u8 config){
-
- IIC_Start();
- u8 addr = PCA9548_ADDR << 1;
- IIC_Send_Byte(addr);
- // i2c_SendByte((ADDR_TCA9548A) | OLED_I2C_WR);
-
- if (IIC_Wait_Ack() != 0)
- {
- goto cmd_fail;
- }
-
- IIC_Send_Byte(config);
-
- if (IIC_Wait_Ack() != 0)
- {
- goto cmd_fail;
- }
-
- cmd_fail:
- IIC_Stop();
-
- }
- u8 PCA9548_Read()
- {
- u8 temp=0;
-
- IIC_Start();
- //IIC_Wait_Ack();
- u8 addr = (PCA9548_ADDR << 1) | 1;
- IIC_Send_Byte(addr);
- IIC_Wait_Ack();
- temp=IIC_Read_Byte(0);
- IIC_NAck();
- IIC_Stop();//产生一个停止条件
- return temp;
- }
|