您好!
我在使用 F28377S 的定制板上。 我们可以考虑使用与 controlCARD F28377D 相同。
我正在使用 Code Composer Studio 7、我的应用是来自 IDDK 套件示例的问题。 (控制无刷电机)
对于我的应用、我有一个外部存储器(FRAM 25CL64)
我开发了一个驱动程序、允许我从该外部存储器进行读取/写入。
应用程序可以有两种环境、例如在 IDDK 示例中完成的环境:
-在 main()末尾调用的接地循环。
- 在 PWM 中断上调用的 ISR 函数,用于管理电机控制。
我可以在之前有另一个高电平中断来管理旋转变压器反馈。
目前、如果从底层任务执行写入存储器并被 ISR 中断(其中也完成了写入访问)、则我的驱动程序不受保护。
我的当前代码将永远不会出现这种情况。 但是对于未来(我不知道它是否会始终保持这种软)、我想检测是否从 ISR 上下文中调用我的内存写入例程。
因为在这种情况下、之前的写入(在接地环路中)可能会在 SPI 协议期间中断。
因此、我认为解决方案:
我的存储器写入例程应该检测当前上下文(GroundLoop / ISR)、然后如果 ISR 上下文、生成一个特定的错误消息 Log...
我的问题是:
我是否有办法轻松了解我是在接地环路上还是在 ISR 上下文中?
谢谢