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.
器件型号:MSPM0
您好!
在 MSPM0控制器中设置 TIMG0寄存器时遇到问题。
如果我尝试将任何寄存器设置为任何值、则什么都不起作用。 TIBG0寄存器是否受保护或类似的保护?
我想、其他定时器寄存器、如 TIMA0或任何其他具有外设区域的寄存器、也无法写入某个值。
只有 SYSCTL、FLASHCTL、SysTick 寄存器可以设置为任何不属于外设区域的值。
因此、我认为问题必须与外设区域有关。
您能帮我写入属于外设区域的寄存器吗?
谢谢!
此致
Felix
您好、Felix、
欢迎访问 E2E 论坛。
MSPM0上的某些外设寄存器(如 TIMG PWREN)确实需要密钥来允许写入访问、技术参考手册中提供了这些外设寄存器、但许多配置寄存器不允许写入。
您能否举例说明您尝试的一个失败的寄存器写入操作? 您是否使用 DriverLib、您自己的驱动程序或在寄存器级别进行编码?
如果您加载 SDK 中包含的示例之一、您是否看到寄存器更新正确?
此致、
Brandon Fisher
您好、Brandon、
非常感谢您的帮助!
哦、好的。 我没有意识到、需要钥匙。
我想通过直接向调试器写入1来启用 TimerG0。CCLKCTL_CLKEN (地址:0x40085108)。 因此我不使用任何驱动程序。
我发现、我必须启用一些时钟才能使外设寄存器正常工作。 所有未映射到外设的寄存器都在工作。
谢谢你。
此致
Felix
您好、Felix、
如果 PWREN 位没有被置位、无论时钟设置如何、我都希望写操作被忽略。 如果您尝试先启用 PWREN、然后写入 CCLKCTL_CLKEN、它应该起作用。
您必须写入整个 PWREN 寄存器以包含密钥、而不仅仅是使能字段。 请参见下图(Key | PWREN):
此致、
Brandon Fisher
您好、Brandon、
这就是解决方案!
我已将密钥插入寄存器、然后我设置使能位、没有发生任何情况。 但我必须同时这样做、这就是诀窍!
谢谢!
此致、
Felix
您好、Felix、
很高兴听到它按 我们现在的预期工作。
现在、我将此主题标记为已关闭。 如果您在开发过程中遇到任何其他问题、请随时创建另一个帖子。
此致、
Brandon