主题中讨论的其他器件: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;
}