GPxPUD寄存器值在C2000 F28035 c28x_LedBlink_ert Simulink示例金宝app

16次浏览(过去30天)
程序加载完成后金宝app,我在simulink的“诊断查看器”中点击“在Code Composer Studio中打开项目”。在CCS观察窗口中,我正在查看寄存器值,并有几个问题:
1)在“c28x_LedBlink_ert”的CCS监视窗口中,“GPAPUD”默认值为0x00000FFF(对于GPIOs 0到11禁用拉起,这是pwm),类似地,“GPBPUD”默认值为0x00000300(对于GPIO 40和41禁用拉起,同样这些是pwm)。然而,我似乎找不到使用上述值初始化寄存器的文件,唯一初始化“GPxPUD”寄存器的文件实际上是“DSP280x_Gpio.c”文件,该文件使用以下两行代码初始化了上拉:
GpioCtrlRegs.GPAPUD.all = 0x0000;GpioCtrlRegs.GPBPUD.all = 0x0000;
所以必须有另一个文件覆盖这些寄存器,我可以被定向到那个文件/函数吗?
2)“c28x_LedBlink_ert”切换GPIO引脚31和34,这意味着这些GPIO应该被设置为输出,再次查看观察窗口,我观察到“GPADIR”的值为0x80000000(即GPIO 31 =输出),“GPBDIR”的值为0x00000004(即GPIO 34 =输出),所以事情很好。但是,既然这些都是输出,难道不应该取消引体向上吗?“GPAPUD”不应该是0x80000FFF和“GPBPUD”是0x00000304吗?
提前谢谢你

答案(1)

安东尼
安东尼 2018年9月3日
嗨,亚历克斯,
我们不初始化上拉寄存器,重置后的默认值在不同的寄存器之间是不一致的。您看到的GPAPUD (0x00000FFF)的值对应于重置后的值。请看以下文档的图63:
图64显示了GPBPUD,值0x00000300也是重置后的值。
我同意,一旦大头针被驱动作为输出,上拉只是一种浪费,虽然不是有害的。
你可以使用以下自定义代码块初始化上拉寄存器:
我们将考虑在未来的版本中删除输出的上拉。
谢谢你的建议。
安东尼。
5个评论
亚历克斯·B
亚历克斯·B 2018年9月12日
谢谢安东宁,
Mathworks论坛一直是我探索和学习新事物的好地方。通过这篇文章,我有机会讨论一个有趣的概念,它也可以帮助其他学习者。为了让其他人更容易理解,我添加了清晰的图片和屏幕截图,展示了我想要实现的目标。这是一个有趣的练习:)
我感谢你分享来自F2837x家族的文档。我没有遇到这个文档,因为我的项目使用F28335和F28035设备。
我想这就是我在这篇文章的“实验”部分所做的, 不过透明国际并不建议
在Mathworks发布新版本之前,用户可能想要做以下事情(正如Antonin在本文前面所建议的那样):
选择该块并将其放入您的simulink项目中,并嵌入以下代码:金宝app
完整性检查:通过CCS监视窗口进行验证(GPIOs 31和34禁用了它们的拉起)
谢谢

登录评论。

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!