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吗?
提前谢谢你
0评论
答案(1)
安东尼
2018年9月3日
嗨,亚历克斯,
我们不初始化上拉寄存器,重置后的默认值在不同的寄存器之间是不一致的。您看到的GPAPUD (0x00000FFF)的值对应于重置后的值。请看以下文档的图63:
图64显示了GPBPUD,值0x00000300也是重置后的值。
我同意,一旦大头针被驱动作为输出,上拉只是一种浪费,虽然不是有害的。
你可以使用以下自定义代码块初始化上拉寄存器:
我们将考虑在未来的版本中删除输出的上拉。
谢谢你的建议。
安东尼。