主题中讨论的其他器件: HALCOGEN
您好! 我叫 Leandro
在我的当前项目中、我使用的是 TMS570LS3137微控制器、我需要关闭某些
外设以节省功耗(我的意思是、禁用外设时钟)。 我发现这个应用报告
通知如何操作: www.ti.com/.../spna173.pdf
TS=1681316353136&ref_url=https%253A%252F%252Fwww.google.com%252F。 名为"减少
的超低功耗"。
该报告建议使用外设关闭设置寄存器0 (PSPWRDWNSET0)并
外设断电设置寄存器1 (PSPWRDWNSET1)来禁用给定外设的时钟。
这32位寄存器代表每4位的"外设选择"、而这4位代表
通信。 幸运的是、应用程序报告提供了一个表格(表5)、说明了哪些位
必须进行设置以有效禁用某些外设的时钟。
该报告还举例说明:
"禁用 MibSPI1的示例
相应的 PS 解码0xFFF7F400和0xFFF7F7FF 之间的所有地址。 MIBSPI1和
SPI2按如下方式映射至此 PS2:
•PS2象限0和象限1用于 MibSPI1、总共512字节
•PS2象限2和象限3用于 SPI2、总共512字节
为了禁用 MibSPI1、外设断电设定寄存器0 (PSPWRDWNSET0)的位8和9
"我得走了。"
我面临的问题是我无法设置这些位。 事实上、不仅是这些、而且还有更多。
在一个简单的示例中、我尝试设置寄存器中的所有位、但只有少数几个进行了响应。
我可以在 tryng 之后读取 PSPWRDWNSET0寄存器来设置所有位:
01010000000100010000000100000101b
我们可以看到位8和位9没有被设置、所以关闭 MibSPI1的示例对我来说失败了。
当我尝试设置所有这些位时、我处于管理员模式。
那么、问题是、为什么不所有位都进行设置? 我如何才能知道外设时钟是否确实
是否禁用?
关于我使用的项目,我刚才做了以下操作:
1-以 TMS570LS3137为目标、创建了一个新的 Compose Studio Code 项目。
创建了一个新的 HalCoGen 项目(与 CSS 项目相关联)并且禁用了所有可用的驱动程序
外设。 我使用这些设置生成了代码。 我尝试过使用和不使用 FreeRTOS 的方法。
我唯一添加到 main 函数的内容就是置位外设断电设置中的所有位
寄存器1 (PSPWRDWNSET1)和外设断电置位寄存器0 (PSPWRDWNSET0)
您能帮助我意识到我做错了什么吗?
提前感谢!

