请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:F28M36P63C2 工具/软件:Code Composer Studio
您好!
我使用 GPIO66和 GPIO68作为输出、在发生系统故障时点亮 LED。 使用 ADC 读数监测故障、并在发生故障时设置标签。
在本例中、我将监控系统过流和系统过压故障。 当标签被置位时、GPIO 输出引脚被拉至高电平、这将导致灯打开。 以下是一段代码、
if (SystemTag.bit.FaultOC==1) { CheckVar1=100; GpioG1DataRegs.GPCSET.BIO68=1;//OutputOverCurrentLightOn } if (SystemTag.bit.FaultOutOV=1) { GpioG1DataRegs.GPCSET.BIT.GPIO66=1;//OutputOverVoltageVarOn }
我查看了观察窗口上的标签、两个故障标签都设置为1。 我还可以验证编译器是否进入了条件块、因为 CheckVar1和 CheckVar2被分配了值100。
但是 GpioG1DataRegs.GPCDAT.bit.GPIO66和 GpioG1DataRegs.GPCDAT.bit.GPIO68值仍然为低电平(0)。
我已将 MUX 设置为 GPIO、并将其中两个配置为输出引脚、请参阅下面的代码。
// LED 配置为输出 EALLOW; GpioG1CtrlRegs.GPCMUX1.bit.GPIO68= 0;//将多路复用器设置为 GPIO (默认值)//过流 GpioG1CtrlRegs.GPCDIR.bit.GPIO68=1;//设置为输出 GpioG1CtrlRegs.GPCMUX1.bit.GPIO66= 0;//将多路复用器设置为 GPIO (默认值)//过压 GpioG1CtrlRegs.GPCDIR.bit.GPIO66=1;//设置为输出 EDIS;
我可以排除硬件问题、因为我在多个电路板上试用了软件、并且遇到了相同的问题。
我在这里错过了什么? 任何想法或建议都将不胜感激。
谢谢、
Srini.