打印

28335 GPIO71~79问题

[复制链接]
693|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
GPIO, Oct, TI, ni, pc
想用GPIO输出高低电平,程序如下
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h"
//#ifdef TOFLASH
//extern void MemCopy(Uint16 *SourceAddr, Uint16* SourceEndAddr, Uint16* DestAddr);
//extern Uint16 RamfuncsLoadStart;
//extern Uint16 RamfuncsLoadEnd;
//extern Uint16 RamfuncsRunStart;
//#endif
void Sci_initial(void);
void scia_xmit(int a);
void scia_msg(char *msg);


unsigned int*DAOUT1=(unsigned int*)(0x00200000);
int ax;
int main(void) {
Uint16 ReceivedChar;
char *msg;
InitSysCtrl();
DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
//#ifdef TOFLASH
// MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
// InitFlash();
//#endif
//InitXintf16Gpio();
//InitXintf();
// Sci_initial();
InitGpio();
GpioDataRegs.GPCCLEAR.all=0xffffffff;
GpioDataRegs.GPCSET.all=0xffffffff;
GpioDataRegs.GPCDAT.all=0x00006789;
//GpioDataRegs.GPCSET.all=0x0000ffff;
for(;;)
{
//ax=0;
msg = "\r\nEnter a character: \0";
scib_msg(msg);
// ax=&DAOUT1;
}
return 0;
}

InitGpio();在另一个c文件里面
void InitGpio(void)
{
EALLOW;

// Each GPIO pin can be:
// a) a GPIO input/output
// b) peripheral function 1
// c) peripheral function 2
// d) peripheral function 3
// By default, all are GPIO Inputs
GpioCtrlRegs.GPAMUX1.all = 0x0000; // GPIO functionality GPIO0-GPIO15
GpioCtrlRegs.GPAMUX2.all = 0x0000; // GPIO functionality GPIO16-GPIO31
GpioCtrlRegs.GPBMUX1.all = 0x0000; // GPIO functionality GPIO32-GPIO39
GpioCtrlRegs.GPBMUX2.all = 0x0000; // GPIO functionality GPIO48-GPIO63
GpioCtrlRegs.GPCMUX1.all = 0x0000; // GPIO functionality GPIO64-GPIO79
GpioCtrlRegs.GPCMUX2.all = 0x0000; // GPIO functionality GPIO80-GPIO95
GpioCtrlRegs.GPADIR.all = 0x0000; // GPIO0-GPIO31 are inputs
GpioCtrlRegs.GPBDIR.all = 0x0000; // GPIO32-GPIO63 are inputs
GpioCtrlRegs.GPCDIR.all = 0xffff; // GPI064-GPIO95 are inputs
// Each input can have different qualification
// a) input synchronized to SYSCLKOUT
// b) input qualified by a sampling window
// c) input sent asynchronously (valid for peripheral inputs only)
GpioCtrlRegs.GPAQSEL1.all = 0x0000; // GPIO0-GPIO15 Synch to SYSCLKOUT
GpioCtrlRegs.GPAQSEL2.all = 0x0000; // GPIO16-GPIO31 Synch to SYSCLKOUT
GpioCtrlRegs.GPBQSEL1.all = 0x0000; // GPIO32-GPIO39 Synch to SYSCLKOUT
GpioCtrlRegs.GPBQSEL2.all = 0x0000; // GPIO48-GPIO63 Synch to SYSCLKOUT
// Pull-ups can be enabled or disabled.
GpioCtrlRegs.GPAPUD.all = 0x5555; // Pullup's enabled GPIO0-GPIO31
GpioCtrlRegs.GPBPUD.all = 0x0000; // Pullup's enabled GPIO32-GPIO63
GpioCtrlRegs.GPCPUD.all = 0x0000; // Pullup's enabled GPIO64-GPIO79
//GpioCtrlRegs.GPAPUD.all = 0xFFFF; // Pullup's disabled GPIO0-GPIO31
//GpioCtrlRegs.GPBPUD.all = 0xFFFF; // Pullup's disabled GPIO32-GPIO34
//GpioCtrlRegs.GPCPUD.all = 0xFFFF; // Pullup's disabled GPIO64-GPIO79
EDIS;
}

执行置位时可以成功使GPCDAT改变
直接对GPCDAT赋值时只能改变最低八位


220049i71yffajekpb65i0.png (348.68 KB )

220049i71yffajekpb65i0.png

相关帖子

沙发
smilingangel| | 2016-5-24 22:04 | 只看该作者
怎?是什么问题的呢?直接复制的操作的,采用移位方式进行的试试

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

15

帖子

0

粉丝