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.
在几个 CLB 示例中、我看到此行
SysCtl_enablePeripheral((SysCtl_PeripheralPCLOCKCR)0x0011);
它使用 SYSCTL_PeripheralPCLOCKCR 枚举中未定义的值调用 SYSCTL_enablePeripheral。
我可以看到、这会导致写入存储器中的非现有器件!
这是什么?
Martin、
感谢您的报告。 将您的查询转发给相关人员、以便查看并作出响应。
此致
Siddharth
尊敬的 Martin:
在 F2837xD 上运行 CLB 示例是否遇到任何问题? 我认为0x0011对应 于 F2837xD 以外的其他器件上的 CLB1、因为在 F2837xD 上、CLB1时钟链接到 EPWM1。 您可以通过查看另一个 C2000器件(如 F28004x 或 F28002x)的 sysctl.h 文件来验证这一点。 在这些模块上、CLB1时钟(以及所有其他 CLB 逻辑块)具有独立的时钟配置
是否可以尝试在删除该行的情况下运行此示例? 我相信这是没有目的的
此致、
Peter
我已经删除了它的行,显然没有什么区别。
此外、根据调试器、写入的值为 void、因此也不起作用。
这也是我在示例代码中看到它的原因、我假设示例代码可帮助我了解此 MCU 的工作原理、这意味着编译器也无法理解我的代码。
本示例中有几条冗余线路、为清晰起见、可将其删除。 但这条线尤其突出、因为它不仅是冗余的、而且是一个难看的黑客(覆盖枚举值集)、它真的很突出、 让我作为学员深入探究我所想的"它必须具有特殊意义、因为它们会达到丑陋的黑客的长度"。 只是为了发现我把时间浪费在一件毫无意义的事情上。
因此、我可以确认编译器和运行示例、这一点很重要、甚至没有意义。
但是对于学员来说、就像有人站在教室里、是一种胡言之语。
尊敬的 Martin:
感谢您的评论、我一定会将此错误归档、以便在我们的下一个 C2000Ware 版本中修复。 很抱歉、CLB 在 F2837xD 器件上的工作方式与其他器件不同、因此我认为本示例的作者在移植本示例时可能忽略了这方面的内容。 尽管如此、如果您有任何其他问题、请随时联系我们
此致、
Peter