This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F2.8027万:GPIO16 17始终为高

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/619600/tms320f28027-gpio16-17always-be-high

部件号:TMS320F2.8027万

你好,这是我的初始化程序,GPIO4可以设置为低,但GPIO16,17 总是高的,我不知道为什么?

EALLOW;
GpioCtrlRegs.GPAQSEL1.ALL = 0x0000;// GPIO0-GPIO15同步到SYSCLKOUT
GpioCtrlRegs.GPAMUX1.ALL = 0x0000;// GPIO功能GPIO16-GPIO31


gpioCtrlRegs.GPAMUX2.all = 0x0000;// GPIO功能GPIO16-GPIO31
GpioCtrlRegs.GPADIR.ALL = 0xFFFF;// GPIO0-GPIO31是GP输出
GpioCtrlRegs.GPAQSEL2.ALL = 0x0000;// GPIO16-GPIO31同步到SYSCLKOUT
GpioDataRegs.GPADAT.ALL = 0xFFFFFFFF;//GPIO0-GPIO31初始值为0

gpioCtrlRegs.GPBMUX1.all = 0x0000;// GPIO功能GPIO32-GPIO34
GpioCtrlRegs.GPBDIR.ALL = 0xFFFF;// GPIO32-GPIO34是输出
gpioCtrlRegs.GPBQSEL1.all = 0x0000;// GPIO32-GPIO34同步到SYSCLKOUT
GpioDataRegs.GPBDAT.ALL = 0xFFFFFFFF;//GPIO0-GPIO31初始值为0

GpioCtrlRegs.GPAPUD.ALL = 0xFFFF;// Pullup的已禁用GPIO0-GPIO31
GpioCtrlRegs.GPBPUD.ALL = 0xFFFF;// Pullup的已禁用GPIO32-GPIO34

GpioDataRegs.GPACLEAR.bit.GPIO4 = 1;
GpioDataRegs.GPACLEAR.bit.GPIO16 = 1;
GpioDataRegs.GPACLEAR.bit.GPIO17 = 1;

EDIS;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Seven:

    尝试以下配置:

    EALLOW;
    
    //将GPIO16设置为输出
    GpioCtrlRegs.GPGPIO16 = 0;//
    
    
    将GPIO16设置为GPIO16 GpioCtrlRegs.GPADIR.Bit.GPIO16 = 1;// GPGPGPGPIO16 =输出//设置DataLEIO17设置为输出GpioCtrl17 =组1.gipoAR.gipo17=
    
    输出
    
    组1.gipoIoIo17= 1.gipeADIO17=组1.gipe1.gip=组1.gipoIoIAR= 1.gipe17= 1.gpiO17=组1.gpios.gpios.gpiOIoIoIoIoIoIoIo17= 1.gpios.gipe1.gip=组1.gpios.gpios.gpiO17=输出组1.gpiO
    
    
    

    此致,

    Gautam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    七,

    请注意将您的写入数据与寄存器大小相匹配。

    例如,GPADIR是32位,但您正在向其写入16位值。 另外,建议显式(UINT32)强制转换32位值,以防止编译器截断MSW。

    汤米