华大的MCU,OD2101:i2c转uart芯片,I2C收发数据不对

2019-07-15 07:27发布

芯片通过I2C向od2101发送数据,od2101作为从机,从机地址为0x5c,通过I2C向从机寄存器0x03写数据0xfd,然后再从此寄存器读出数据,但读出的数据却是0x2d,目前不知道为什么读出的是0x2d,向各位大神请教,如下是部分代码:

#define WR   0x00  
#define RD   0x00
#define UARTBUF 0x01  
#define I2CBUF  0x02  
#define CTRL  0x03  
        

uint8_t recv_buf[50]={0};        
uint8_t recv_data;        
uint8_t recv_data1;        
        Usart_SendStr(UARTCH0, "OD2101_test ");
    recv_data = 0xfd;//( recv_data & 0xf0 ) | 0 ;
        I2C_MasterWriteData(I2C1,I2C_DEVADDR,CTRL,&recv_data,1);/*·¢ËÍ¿ØÖÆ×Ö
        Usart_SendStr(UARTCH0, "OD2101_test1 ");
I2C_MasterReadData(I2C1,I2C_DEVADDR,&recv_data1,CTRL,4);
printf("recv_data1=%x ",recv_data1);
微信截图_20190220201647.png
0条回答

一周热门 更多>