TI中文支持网
TI专业的中文技术问题搜集分享网站

DSP28335 对管脚置高置低操作

GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO0 = 1;

GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO1 = 1;
我在程序中如此配置GPIO,并且确定没有其他地方使用到这两个GPIO,但是在我如此配置数据寄存器

GpioDataRegs.GPADAT.bit.GPIO0 = 1;之后,发现,GPIO并没有变高,而且寄存器表中还是显示0,用万用表测试管脚也是低电平,请问是什么原因

Green Deng:

你好,根据你提供的配置没发现有什么问题,你可以对照TI提供的例程,看是否有其他地方的错误。
需要注意的是,使用GPxDAT寄存器进行GPIO操作的时候需要添加一段延时,详细的参考例程中的做法:
C:\ti\c2000\C2000Ware_3_03_00_00\device_support\f2833x\examples\gpio_toggle

user5197967:

回复 Green Deng:

我发现
GpioDataRegs.GPASET.bit.GPIO0 = 1;GpioDataRegs.GPACLEAR.bit.GPIO1 = 1;
如此操作可以正常置高置低,直接写GpioDataRegs.GPADAT.bit.GPIO0 = 1;不可以

Green Deng:

回复 user5197967:

正如上面所说,使用GPxDAT寄存器的时候要加上延时,否则会无效。

赞(0)
未经允许不得转载:TI中文支持网 » DSP28335 对管脚置高置低操作
分享到: 更多 (0)