This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/TM4C123GH6PM:使用 Utils.c 和 SMBus.h 进行 SMBus 通信时出现问题...

Guru**** 2610745 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/767607/rtos-tm4c123gh6pm-problem-in-smbus-communication-using-smsbuc-c-and-smbus-h-from-utils

器件型号:TM4C123GH6PM

工具/软件:TI-RTOS

我尝试在 tm4c123gh下午6点使用 smbus 进行通信。 Hrer 是我的代码。 我在 g_pucSlaveRxBuffer 中不接收。   

void SMBusInitonI2C (void){


//
//为 SMBus 主设备启用外设。
//
SysCtlPeripheralEnable (SYSCTL_Periph_I2C0);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOB);
//
//为 I2C0配置所需的引脚。
//
while (!SysCtlPeripheralReady (SYSCTL_Periph_GPIOB))


GPIOPinConfigure (GPIO_PB2_I2C0SCL);
GPIOPinConfigure (GPIO_PB3_I2C0SDA);
GPIOPinTypeI2CSCL (GPIO_PORTB_BASE、GPIO_PIN_2);
GPIOPinTypeI2C (GPIO_PORTB_BASE、GPIO_PIN_3);
//
//配置 IO 多路复用器,使 I2C0的 I2C 引脚位于 PB2/3上。
//

//
//初始化主 SMBus 端口。
//
SMBusMasterInit (&g_sMaster、I2C0_BASE、SysCtlClockGet ());

I2CIntRegister (GPIO_PORTB_BASE、SMBusMasterIntHandler);
//启用主中断。
//
SMBusMasterIntEnable (&g_sMaster);
I2CMasterEnable (I2C0_BASE);
IntMasterEnable();

U8_t readFromSlave (U8_t device_address、U8_t device_register){

int i;

SMBusPECEnable (&g_sMaster);

返回状态= SMBusMasterByteWordRead (&g_sMaster、device_address、device_register、g_pucSlaveRxBuffer、2);
 UARTprintf ("状态:%d \r\n"、返回状态);

对于(i=0;i<2;i++){

UARTprintf ("%d \r\n"、g_pucSlaveRxBuffer[i]);

返回0;

 如果有人完成了 SMBus 通信、请帮助我...  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Aman:

    我们的一位工程师已经用您打开的一条线程回复了您、您根本没有与他沟通。 您是否尝试过他的建议? 如果它不起作用、您需要将其发布在现有线程中、而不是创建新线程。 这是我所指的主题: e2e.ti.com/.../766769
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Ralph:

    我很抱歉。 一天没有回复该主题、因此我创建了一个新主题。 但也得到了回复。

    此致、
    Aman。