请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2650 工具/软件:Code Composer Studio
从 ProjectZero 开始、我只剩下能够完美工作的广播代码。 在该项目上、我添加了另一个从 I2C 接收数据的任务、该代码在独立应用程序中工作正常。 创建优先级高于广播任务的 I2C 任务将按预期接收数据到 I2C、但不会进行广播。 广播任务也是如此,创建具有更高优先级的广播任务将会广播但不会接收到 I2C 的数据。
如果我在代码中添加一些断点、在广播任务具有更高优先级的情况下、它会到达广播任务的所有断点并进入 I2C 任务、并在返回此函数时卡住:
I2CSlaveDataGet (uint32_t ui32Base) { // //检查参数。 // assert (I2CBaseValid (ui32Base)); // //读取一个字节。 // RETURN (HWREG (I2C0_BASE + I2C_O_SDR)); }
因此、我的结论是、这两个任务不能同时运行。 也许我缺少一些东西。
谢谢!