请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2650 工具/软件:TI-RTOS
当前 I2C 驱动程序中是否仍然不支持多主器件?
如果不是、是否有人可能会向我指出解决方案的正确方向?
谢谢。
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.
工具/软件:TI-RTOS
当前 I2C 驱动程序中是否仍然不支持多主器件?
如果不是、是否有人可能会向我指出解决方案的正确方向?
谢谢。
您好!
就我在 I2C 驱动程序的 API 文档中看到的那样、它不受支持、但启用它并不困难:
/*发生了某种错误! * object->mode = I2CCC26XX_error; if (errStatus & I2C_MASTER_ERR_ARB_Lost){ swip_post (&(object->swi)); } 否则{ /*尝试发送停止位以立即结束所有 I2C 通信*/ /* * I2C_MASTER_CMD_BURST_SEND_ERROR_STOP -和- * I2C_MASTER_CMD_BURST_Receive_ERROR_STOP *具有相同的值 * I2CMasterControlhwAttrs->baseAddr、 I2C_MASTER_CMD_BURST_SEND_ERROR_STOP); /*请勿在此布置 SWI,以免后续传输停止。 等待 STOP 条件中断以 POST SWI */ }
现在、我假设您需要在驱动程序中添加一些逻辑、以便在放弃之前在特定时间重新启动仲裁。 这有道理吗?