请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS570LS1227 主题中讨论的其他器件:HALCOGEN、 TMP468
工具/软件:Code Composer Studio
大家好、
我正在努力设置 TMS570LS1227PGE 作为 TI TMP48 (
)温度传感器的 I2C 上的主接收器。 如果有人能带我了解 HalCoGen 设置和 CCS 代码来读取该传感器、那将不胜感激。
我已经花费了相当多的时间尝试自己连接传感器、下面是我的代码:
while (1){
/*等待 MST 位被清零,这将进行
*清除总线忙后的几个周期*/
//while (i2cIsMasterReady (i2cREG1)!= true);
/*配置要与*/通话的从机地址
i2cSetSlaveAdd (i2cREG1、Slave_Address);
/*将方向设置为发送器*/
/*注意:可选-在 Init 中完成*/
i2cSetDirection (i2cREG1、I2C_transmitter);
/*配置数据计数*/
/*读取之前从器件地址+字地址写入操作*/
i2cSetCount (i2cREG1、receive_data_setup);
/*将模式设置为主设备*/
i2cSetMode (i2cREG1、I2C_MASTER);
/*设置编程计数后停止*/
i2cSetStop (i2cREG1);
/*发送开始条件*/
i2cSetStart (i2cREG1);
/*发送字地址*/
i2cSend (i2cREG1,1,Slave_Word_address);
/*等待总线忙被清除*/
while (i2cIsBusy (i2cREG1)=true);
/*等待直到检测到停止*/
while (i2cIsStopDetected (i2cREG1)=0);
/*清除停止条件*/
i2cClearSCD (i2cREG1);
/********* /
////开始从从属方接收数据
/********* /
/*等待 MST 位被清零,这将进行
*清除总线忙后的几个周期*/
while (i2cIsMasterReady (i2cREG1)!= true);
/*配置要与*/通话的从机地址
i2cSetSlaveAdd (i2cREG1、Slave_Address);
/*将方向设置为接收器*/
i2cSetDirection (i2cREG1、I2C_RECEIVER);
/*配置数据计数*/
/*注:可选-在 Init 中完成,除非用户想要更改*/
i2cSetCount (i2cREG1、data_count);
/*将模式设置为主设备*/
i2cSetMode (i2cREG1、I2C_MASTER);
/*设置编程计数后停止*/
i2cSetStop (i2cREG1);
/*发送开始条件*/
i2cSetStart (i2cREG1);
/*轮询模式下的 Transmit data_count 数据数量*/
i2cReceive (i2cREG1、DATA_COUNT、RX_Data_Master);
/*等待总线忙被清除*/
while (i2cIsBusy (i2cREG1)=true);
/*等待直到检测到停止*/
while (i2cIsStopDetected (i2cREG1)=0);
/*清除停止条件*/
i2cClearSCD (i2cREG1);
asm (" nop");
asm (" nop");
asm (" nop");
vTaskDelay (10000);
}
在 HCG 中、我已启用所有 i2c 中断、i2c pinmux、i2c VIM 通道和 i2c 驱动器。
我们非常感谢您的任何帮助、无论是建议还是代码。
谢谢!