大家好、
我正在尝试通过 DRA72xx 处理器中的 M4内核配置一个 GPIO (GPIO6_11)线路。以下是我执行的步骤、但无法将引脚驱动为高电平。我已附加以下代码和用于配置的步骤。如果我错过了任何内容、请告知我。
#define GPIO_base_regs_6 (0x4805D000u) GPIO 寄存器使用以下覆盖结构进行映射。
typedef 结构{
易失性 uint32修订版;
易失性 UINT8 RSVD0[12];
易失性 UINT32 SysConfig;
易失性 UINT8 RSVD1[12];
易失性 uint32 EOI;
易失性 uint32 IRQSTATUS_RAW_0;
易失性 uint32 IRQSTATUS_RAW_1;
易失性 uint32 IRQSTATUS_0;
易失性 uint32 IRQSTATUS_1;
易失性 uint32 IRQSTATUS_SET_0;
易失性 uint32 IRQSTATUS_SET_1;
易失性 uint32 IRQSTATUS_CLR_0;
易失性 uint32 IRQSTATUS_CLR_1;
易失性 uint32 IRQWAKEN_0;
易失性 uint32 IRQWAKEN_1;
易失性 UINT8 RSVD2[200];
易失性 uint32 SYSSTATUS;
易失性 UINT8 RSVC3[24];
易失性 uint32 CTRL;
易失性 uint32 OE;
易失性 uint32数据主;
易失性 UINT32 DATAOUT;
易失性 UINT32 LEVELDETECT0;
易失性 UINT32 LEVELDETECT1;
易失性 uint32 RISINGDETECT;
易失性 uint32 FLLINGDETECT;
易失性 uint32 DEBOUNCHENABLE;
易失性 uint32 DEBOUNCINGTIME;
易失性 UINT8 RSVD4[56];
易失性 UINT32 CLEARDATAOUT;
易失性 UINT32 SETDATAOUT;
} CSL_GpioRegs;
我要遵循的三个步骤。
设置 GPIO 引脚的复用引脚。
#define GPIO6_11 0x378 //焊盘基址
{GPIO6_11、(IEN | PEN | PTD | WKDIS | FSC | M14)}
IE-18位(GPIO6_11_INPUTENABLE)=1
PEN - 16 (GPIO6_11_PULLUDENABLE 0x0:)=1
PTD - 17 (GPIO6_11_PULLTYPESELECT)=0
WKDIS-24 (GPIO6_11_WAKEUPENABLE)= 0
FSC -19 (GPIO6_11_SLEWCONTROL)= 1.
M14 (GPIO6_11_MUXMODE)= 0xE (0xE:GPIO6_11)
2.设置输出方向。
if (DIO_INPUT =方向)
{
gpioRegs->OE |=(0x01<Regs.><pin);
}
否则、如果(DIO_OUTPUT =方向)
{
gpioRegs->OE &=~(<pin);
}
使端口线路为真、并在输出引脚中期望3.3V 电压
IF (高)
{
gpioRegs->SETDATAOUT =(<pin);
}
其他
{
gpioRegs->CLEARDATAOUT =(1<<pin);
}
提前感谢您的支持
此致、
Jeyaseelan