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

GPIO_WritePin和GpioDataRegs.GPBDAT.bit.GPIOxx直接赋值的区别?

使用的开发板LaunchpadF28379D

//提问更新

我发现不是函数的问题

而是我连续赋值两个管脚,第一个管脚的赋值就会失效

比如如图中注释部分,我连用

GpioDataRegs.GPBDAT.bit.GPIO34=1;

GpioDataRegs.GPBDAT.bit.GPIO40=1;

那么34管脚的赋值就会失败,40管脚能够成功赋值。而如果我单步运行的话,两个语句都能正常运行,这是什么原因呢?

//以下为原提问

如图我在main函数主循环里写了这样一段程序用来检测GPIO32的电平,并通过LED GPIO34的亮和灭来响应获取的高低电平。

图中我用GPIO_WritePin(34,1)和GPIO_WritePin(34,0)时LED可以正常亮灭

但是将GPIO_WritePin改成GpioDataRegs.GPBDAT.bit.GPIO34=1和GpioDataRegs.GPBDAT.bit.GPIO34=0时程序不能正常工作,通过观察变量可以看到32脚连接高/低电平后对应的GpioDataRegs.GPBDAT.bit.GPIO32变成了1/0,但GpioDataRegs.GPBDAT.bit.GPIO34一直都是0,LED一直亮。只有设置断点后单步运行LED灯才会根据GPIO32连接的高低电平正常亮灭。

EE搬砖工:

回复 Green Deng:

感谢

Green Deng:

回复 EE搬砖工:

book气

赞(0)
未经允许不得转载:TI中文支持网 » GPIO_WritePin和GpioDataRegs.GPBDAT.bit.GPIOxx直接赋值的区别?
分享到: 更多 (0)