?? mainproc.c
字號:
#include "c6x.h" //project不必有,系統(tǒng)的,要包含c include 有順序
#include "c6xdsp.h"
#include "variable.h"
#include "c6xdspinit.c"
#include "c6xinterrupts.h"
#include "intsubprog.c"
#include "sine_init.c" //SINE表
#include "init_subfun.c"
void main()
{ int qq=0;
int ww=0;
tim1=0;
comm_intr();//initial EMIFB/EVENT
McBSP_initial();//initial McBSP
erase_flash();//initial flash
/**************initial program******************/
CSR=0x100; //disable all interrupts
IER=0x01; //disable interrupts beside NMI
ICR=0xffff; //clear maskable interrupts manually
enableGlobalINT(); //important
enableNMI(); //important
config_Interrupt_Selector(5, EXT_INT5); //using external interrupt INT5 //我認為沒有用
enableSpecificINT(5); //this sentence is important , as its name
//enableSpecificINT(3);
// config_Interrupt_Selector(14,TINT0);
// enableSpecificINT(14); //open tint0 interrupt;
//open interrupt xint1;
config_Interrupt_Selector(12,XINT1);
enableSpecificINT(12); //open tint0 interrupt;
*(unsigned volatile int *)TIMER0_CTRL=0x000002d5;
channel9=(unsigned volatile int *)0x60000020;
channel1=(unsigned short *)0x60000000;
channel2=(unsigned short *)0x60000004;
channel3=(unsigned short *)0x60000008;
channel4=channel3+1;
channel5=channel4+1;
channel6=channel5+1;
channel7=channel6+1;
channel8=channel7+1;
//測試SDRAM,指針指向EMIFA空間
sdaddr1=(volatile int *)0x80000004;
sdaddr2=sdaddr1+1;
sdaddr3=sdaddr2+1;
sdaddr4=sdaddr3+1;
sdaddr5=sdaddr4+1;
sddat1=0x5555;
sddat2=0x22;
sddat3=0x33;
sddat4=0x44;
sddat5=0x55;
tim1=0;
flag_sine=1;
sine_addr=SINE;
dat1=0;
while(1)
{ //position=0;
// *channel3=0x5555;
// position1=*channel1;
// for(qq=0;qq<10;qq++)
// asm(" nop ");
// *channel9=position2;
// position2=*channel9;
//測試SDRAM,向SDRAM空間寫一個數(shù)
// *sdaddr1=sddat1;
// for(ww=0;ww<100;ww++)
// {asm(" nop ");}
// *sdaddr2=sddat2;
// for(ww=0;ww<100;ww++)
// {asm(" nop ");}
// *sdaddr3=sddat3;
// for(ww=0;ww<100;ww++)
// {asm(" nop ");}
// *sdaddr4=sddat4;
// for(ww=0;ww<100;ww++)
// {asm(" nop ");}
// *sdaddr5=sddat5;
// for(ww=0;ww<50;ww++)
// {asm(" nop ");}
// if (tim1==10000)
// {tim1=0;
// *(unsigned volatile short *)McBSP1_DXR=0x5555;
// }
//測試SDRAM,從SDRAM空間讀出一個數(shù)
// sddat1w=*sdaddr1;
// sddat2w=*sdaddr2;
// sddat3w=*sdaddr3;
// sddat4w=*sdaddr4;
// sddat5w=*sdaddr5;
for(ww=0;ww<100;ww++)
{asm(" nop ");}
flash_dat=(unsigned volatile char *)0x64000000;
for(qq=0;qq<100;qq++)
{*(unsigned volatile char *)flash_adr1=0x00aa;
*(unsigned volatile char *)flash_adr2=0x0055;
*(unsigned volatile char *)flash_adr1=0x00a0;
*(unsigned volatile char *)flash_dat=0x11;
flash_dat++;
for(ww=0;ww<1100;ww++)
{asm(" nop ");}
}
// *(unsigned volatile char *)flash_adr1=0x00aa;
// *(unsigned volatile char *)flash_adr2=0x0055;
// *(unsigned volatile char *)flash_adr1=0x00a0;
dat1=*(unsigned volatile char *)0x64000000;
// for(ww=0;ww<1100;ww++)
// {asm(" nop ");}
//發(fā)送sine表
/* if(flag_sine==1)
{ flag_sine=0;
*(unsigned volatile short *)McBSP1_DXR=*sine_addr;
if(sine_addr==SINE+8191)
sine_addr=SINE;
else
{ sine_addr=sine_addr+1;
}
}*/
//測試flash,對flash擦寫
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -