久芯网

STM32f3硬件SMBus如何传输PEC

avatar Kurorotasu 提问时间: 2023-07-15 17:57:47 / 未解决
刚接触SMBUS,想实现一下它的基本传输,平台是f3discovery;我用Cube选择了two-wire模式的SMBus1和SMBus2生成了基本代码,打算把1作为master,2作为slave采用中断方式去完成收发的demo(不知道可不可行),我在生成的SMBus2配置项中把ownaddress1 设置为0xA0 即从机地址;

请问在main里面应该怎样调用HAL库能实现带PEC的基本传输?

如需获得 STM32f3 等器件的更多信息,请点击链接或 点击此处 联系在线客服!

2个回答
  • avatar Kurorotasu
    回答时间: 2023-07-15 18:24:20

    uint8_t slave_data[8] = {0}; uint8_t master_data[8] = {0,1,2,3,4,5,6,7}; HAL_SMBUS_EnableListen_IT(&hsmbus2); HAL_SMBUS_Slave_Receive_IT(&hsmbus2,slave_data,8,I2C_FIRST_AND_LAST_FRAME); HAL_Delay(20); HAL_SMBUS_Master_Transmit_IT(&hsmbus1, 0xA0, master_data, 8, I2C_FIRST_AND_LAST_FRAME); while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ }复制代码

  • avatar Kurorotasu
    回答时间: 2023-07-15 18:43:11
    Kurorotasu 发表于 2022-10-12 00:05

    我只是在main里面简单调用了HAL_SMBUS_Slave_Receive_IT和HAL_SMBUS_Master_Transmit_IT,用逻辑分析仪测量似乎没有完成数据的传输,想请问下大家应该怎么做

会员中心 微信客服
客服
回到顶部