要用28335xintf输出16位数据。按照我这样配置,D0口会产生方波的。但是程序写进去之后,接上示波器观察,没反应。程序是运行的,因为led在闪烁。
void main(void)
{
short temp=0;
InitSysCtrl();
DINT;
IER=0x0000;
IFR=0x0000;
InitPieCtrl();
InitPieVectTable();
initled();
init_zone7();
LED1off;
LED2off;
while(1)
{
temp++;
if(temp==1)
{
uint16* p=(uint*)0x20000;
*p=0x00000000;
LED1on; LED2off;
}
if(temp==2)
{
uint16* p=(uint*)0x20000;
*p=0x00000001;
temp=0;
LED1off;
LED2on;
}
delay(10000);
}
}
void init_zone7(void)
{
EALLOW;
SysCtrlRegs.PCLKCR3.bit.XINTFENCLK = 1;
InitXintf16Gpio();
XintfRegs.XINTCNF2.bit.XTIMCLK = 0;
XintfRegs.XINTCNF2.bit.WRBUFF = 3;
XintfRegs.XINTCNF2.bit.CLKOFF = 0;
XintfRegs.XINTCNF2.bit.CLKMODE = 0;
XintfRegs.XTIMING7.bit.XWRLEAD = 1;//写建立等待状态周期=1XTIMCLK
XintfRegs.XTIMING7.bit.XWRACTIVE = 2;//写激活等待周期=2XTIMCLK
XintfRegs.XTIMING7.bit.XWRTRAIL = 1;//写追踪等待周期=1XTIMCLK
XintfRegs.XTIMING7.bit.XRDLEAD = 1;//读建立等待状态周期=1XTIMCLK
XintfRegs.XTIMING7.bit.XRDACTIVE = 3;//读激活等待周期=3XTIMCLK
XintfRegs.XTIMING7.bit.XRDTRAIL = 0;//读追踪等待周期=0XTIMCLK
XintfRegs.XTIMING7.bit.X2TIMING = 0;
XintfRegs.XTIMING7.bit.USEREADY = 0;
XintfRegs.XTIMING7.bit.READYMODE = 0;
// 1,1 = x16 数据线(采用)
// 0,1 = x32 数据线
XintfRegs.XTIMING7.bit.XSIZE = 3;
EDIS;
asm(" RPT #7 || NOP");
}