各位大神,
你们好,
为什么我GPIO0~3设置同时输出高电平时却只有3 和 1脚是高电平而0 和 2是低电平?奇怪的是,我单步调试的时候又都是高电平的。(同时输出低电平是成功的)代码如下
#include "DSP28x_Project.h" // Device Headerfile and Examples Include File
void InitialGpio()
{
EALLOW;
GpioCtrlRegs.GPAMUX1.all = 0x00000000; GpioCtrlRegs.GPADIR.all = 0xFFFFFFFF; GpioCtrlRegs.GPAPUD.all = 0xffffffff; EDIS;
GpioDataRegs.GPADAT.all = 0x00000000;
GpioDataRegs.GPBDAT.all = 0x00000000;
}
#define clk GpioDataRegs.GPADAT.bit.GPIO12
#define bit0 GpioDataRegs.GPADAT.bit.GPIO0
#define bit1 GpioDataRegs.GPADAT.bit.GPIO1
#define bit2 GpioDataRegs.GPADAT.bit.GPIO2
#define bit3 GpioDataRegs.GPADAT.bit.GPIO3
#define bit4 GpioDataRegs.GPADAT.bit.GPIO4
#define bit5 GpioDataRegs.GPADAT.bit.GPIO5
#define bit6 GpioDataRegs.GPADAT.bit.GPIO6
#define bit7 GpioDataRegs.GPADAT.bit.GPIO7
void main(void)
{
InitSysCtrl();
InitialGpio();
DINT;
IER = 0x0000;
IFR = 0x0000;
clk = 1;
for(;;)
{
bit0 = 1;
bit1 = 1;
bit2 = 1;
bit3 = 1;
}
}