主题中讨论的其他器件:TM4C123
工具/软件:TI C/C++编译器
您好,大家好
我正在尝试 通过 I2C 与 TM4C123和 AD5934构建通信、
虽然我看不到 i2c_SDR 寄存器中的任何图
我无法从从器件接收到应答
我无法在 引脚上读取 SCL 和 SDA
感谢大家的帮助
这是我的程序
int I2C_write (unsigned char slave_address、unsigned char reg_addr、unsigned char 数据)
{
unsigned dataschar end; 
datasend=数据; 
I2CMasterSlaveAddrSet (I2C1_base、slave_address、false);false代表主模块发送,从模块接收。true代表主模块从从模块读取。μ s 
// I2CMasterControl (I2C1_base、I2C_MASTER_CMD_BURST_SEND_START);//发送开始指令 
I2CMasterDataPut (I2C1_base、reg_addr);//将发送的地址放入数据存储器中 
//主模块开始发送数据 
I2CMasterControl (I2C1_base、I2C_MASTER_CMD_BURST_SEND_START);发送开始指令 μ s 
// I2CMasterDataPut (I2C1_base、reg_addr);//将发送的地址放入数据存储器中 
I2CMasterDataPut (I2C1_base、datasend);//将要发送的数据放入存储器中
I2CMasterControl (I2C1_base、I2C_MASTER_CMD_SINGLE_SEND); 
//while (!(I2CSlaveStatus (I2C1_base)& I2C_SLAVE_ACT_RREQ)) 
//{ 
//} 
while ((I2CMasterBusy (I2C1_base))) 
{ 
} 
I2CMasterControl (I2C1_base、I2C_MASTER_CMD_BURST_SEND_STOP);
/**//
//I2CMasterControl (I2C1_base、I2C_MASTER_CMD_BURST_SEND_STOP);//数据发送结束后,发送结束指令
}
int I2C_read (unsigned char slave_address、unsigned char reg_addr) 
{ 
unsigned char datareceeve; 
// datareceve=数据; 
// I2CMasterControl (I2C1_base、I2C_MASTER_CMD_BURST_SEND_START); 
I2CMasterSlaveAddrSet (I2C1_base、slave_address、false); 
I2CMasterDataPut (I2C1_base、reg_addr); 
I2CMasterControl (I2C1_base、I2C_MASTER_CMD_BURST_SEND_START); 
I2CMasterSlaveAddrSet (I2C1_base、slave_address、true);// true 代表主机接收
I2CMasterControl (I2C1_base、I2C_MASTER_CMD_BURST_Receive_contt); 
// while (!(I2CSlaveStatus (I2C1_base)& I2C_SLAVE_ACT_TREQ)) 
//{ 
//} 
datareceev=I2CMasterDataGet (I2C1_base); 
// UARTprintf ("正在发送:'%c'。 。 。 "、DATA[i]);//读取从主机接收到的字节 
返回0;
}