这是引脚初始代码
void InitI2CGpio(void)
{
EALLOW;
GpioCtrlRegs.GPBPUD.bit.GPIO32 = 0; // Enable pull-up for GPIO32 (SDAA)
GpioCtrlRegs.GPBPUD.bit.GPIO33 = 0; // Enable pull-up for GPIO33 (SCLA)
GpioCtrlRegs.GPBDIR.bit.GPIO32 =1;
GpioCtrlRegs.GPBDIR.bit.GPIO33 =1;
GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 1; // Configure GPIO32 for SDAA operation
GpioCtrlRegs.GPBMUX1.bit.GPIO33 = 1; // Configure GPIO33 for SCLA operation
EDIS;
}
#define SDAA GpioDataRegs.GPBDAT.bit.GPIO32 // (SDAA)
#define SCLA GpioDataRegs.GPBDAT.bit.GPIO33 // (SCLA)
执行下面代码无法拉低
SCLA=0;
SDAA=0;
sulin su:
,
sulin su:
加了EALLOW EDIS 还是不能变化
,
sulin su:
,
sulin su:
这样也不行吗
,
Green Deng:
抱歉之前没看清你的定义方式,另外回复的内容有问题,所以删除之前的回复以免造成误导。
1、你的#define定义有问题,#define标识符常量,这是格式。你的定义有问题
2、GPBDAT不受EALLOW保护,但是涉及到GPIO MUX的几个寄存器是受EALLOW保护的。
,