亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? main.c

?? 一個(gè)很全面的TMS320F2812的最小系統(tǒng)的工程
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
    PieCtrlRegs.PIEIER9.bit.INTx2=1;
    PieCtrlRegs.PIEIER9.bit.INTx5=1;
    PieCtrlRegs.PIEIER9.bit.INTx6=1;
	
}
//---------------------------------------------------------------------------
// InitSysCtrl: 
//---------------------------------------------------------------------------
// This function initializes the System Control registers to a known state.
//
void sInitSysCtrl(void)
{
   unsigned int i;
   EALLOW;
   
// On TMX samples, to get the best performance of on chip RAM blocks M0/M1/L0/L1/H0 internal
// control registers bit have to be enabled. The bits are in Device emulation registers.
   DevEmuRegs.M0RAMDFT = 0x0300;
   DevEmuRegs.M1RAMDFT = 0x0300;
   DevEmuRegs.L0RAMDFT = 0x0300;
   DevEmuRegs.L1RAMDFT = 0x0300;
   DevEmuRegs.H0RAMDFT = 0x0300;
   
           
// Disable watchdog module
   SysCtrlRegs.WDCR= 0x0068;

// Initalize PLL
   SysCtrlRegs.PLLCR = 0xA;
   // Wait for PLL to lock
   for(i= 0; i< 5000; i++){}
       
// HISPCP/LOSPCP prescale register settings.
// high speed clock = SYSCLKOUT/1 (EVA,EVB,ADC)
   SysCtrlRegs.HISPCP.all = 0x0000;
// low speed clock = SYSCLKOUT/4  (SCIA,SCIB,SPI,McBSP)
   SysCtrlRegs.LOSPCP.all = 0x0002;	
// Peripheral clock enables set for the selected peripherals.   
   SysCtrlRegs.PCLKCR.bit.EVAENCLK=1;
   SysCtrlRegs.PCLKCR.bit.EVBENCLK=1;
   SysCtrlRegs.PCLKCR.bit.SCIENCLKA=1;
   SysCtrlRegs.PCLKCR.bit.SCIENCLKB=0;
   SysCtrlRegs.PCLKCR.bit.MCBSPENCLK=0;
   SysCtrlRegs.PCLKCR.bit.SPIENCLK=1;
   SysCtrlRegs.PCLKCR.bit.ECANENCLK=1;
   SysCtrlRegs.PCLKCR.bit.ADCENCLK=1;
   EDIS;
	
}

// This function initializes the Flash Control registers

//                   CAUTION 
// This function MUST be executed out of RAM. Executing it
// out of OTP/Flash will yield unpredictable results

void sInitFlash(void)
{
   EALLOW;
   //Enable Flash Pipeline mode to improve performance
   //of code executed from Flash.
   FlashRegs.FOPT.bit.ENPIPE = 1;
   
   //                CAUTION
   //Minimum waitstates required for the flash operating
   //at a given CPU rate must be characterized by TI. 
   //Refer to the datasheet for the latest information.  

   //Set the Random Waitstate for the Flash
   FlashRegs.FBANKWAIT.bit.RANDWAIT = 5;//lg/030905 5;
   
   //Set the Paged Waitstate for the Flash
   FlashRegs.FBANKWAIT.bit.PAGEWAIT = 5;//lg/030905 5;
   
   //                CAUTION
   //Minimum cycles required to move between power states
   //at a given CPU rate must be characterized by TI. 
   //Refer to the datasheet for the latest information.
     
   //For now use the default count
   
   //Set number of cycles to transition from sleep to standby
   FlashRegs.FSTDBYWAIT.bit.STDBYWAIT = 0x01FF;       
   
   //Set number of cycles to transition from standby to active
   FlashRegs.FACTIVEWAIT.bit.ACTIVEWAIT = 0x01FF;   
   EDIS;
}	


//---------------------------------------------------------------------------
// KickDog: 
//---------------------------------------------------------------------------
// This function resets the watchdog timer.
// Enable this function for using KickDog in the application 
/*
void sKickDog(void)
{
    EALLOW;
    SysCtrlRegs.WDKEY = 0x0055;
    SysCtrlRegs.WDKEY = 0x00AA;
    EDIS;
}
*/
//---------------------------------------------------------------------------
// InitAdc: 
//---------------------------------------------------------------------------
// This function initializes ADC to a known state.
//
void sInitAdc(void)
{
    extern void DSP28x_usDelay(unsigned long Count);
	
    // To powerup the ADC the ADCENCLK bit should be set first to enable
    // clocks, followed by powering up the bandgap and reference circuitry.
    // After a 5ms delay the rest of the ADC can be powered up. After ADC
    // powerup, another 20us delay is required before performing the first
    // ADC conversion. Please note that for the delay function below to
    // operate correctly the CPU_CLOCK_SPEED define statement in the
    // DSP28_Device.h file must contain the correct CPU clock period in
    // nanoseconds. For example:
    //
    // #define CPU_CLOCK_SPEED  6.6667L // for a 150MHz CPU clock speed
	
    //This was done in the InitSysCtrl() function in DSP28_SysCtrl.c
    //asm("	EALLOW");
    //SysCtrlRegs.PCLKCR.bit.ADCENCLK = 1;     // Power up clocks to ADC
    //SysCtrlRegs.WDCR = 0x6F;                 // Disable WD
    //asm("	EDIS");
/*** Reset the ADC module ***/
	AdcRegs.ADCTRL1.bit.RESET = 1;		// Reset the ADC module
	asm(" RPT #20 || NOP");				// Must wait 12-cycles (worst-case) for ADC reset to take effect // for test ywt/061214A

	AdcRegs.ADCTRL3.all = 0x00C6;		// first power-up ref and bandgap circuits
    	
    //AdcRegs.ADCTRL3.bit.ADCBGRFDN = 0x3;// Power up bandgap/reference circuitry
	DelayUs(10000);				//According to spru060b(200407).pdf which the latest user guild , wait 7ms before setting ADCPWDN//lg/040803 // for test ywt/061214A
	AdcRegs.ADCTRL3.bit.ADCPWDN = 1;	// Set ADCPWDN=1 to power main ADC
	DelayUs(200);				// Wait 20us before using the ADC

/*
    AdcRegs.ADCTRL3.bit.ADCBGRFDN = 0x3;// Power up bandgap/reference circuitry
    DELAY_US(ADC_usDELAY);              // Delay before powering up rest of ADC
    AdcRegs.ADCTRL3.bit.ADCPWDN = 1;	// Power up rest of ADC
    DELAY_US(ADC_usDELAY2);             // Delay after powering up ADC
*/

    AdcRegs.ADCMAXCONV.all=0x000F;
    AdcRegs.ADCCHSELSEQ1.all=0x3210;
    AdcRegs.ADCCHSELSEQ2.all=0x7654;
    AdcRegs.ADCCHSELSEQ3.all=0xBA98;
    AdcRegs.ADCCHSELSEQ4.all=0xFEDC;
	
    //Initial ADC: reset ADC, Set Acquisition window size = 0,so the width of SOC
    //pulse is 1, Fclk is selected as CLK/1, Start-stop mode,Cascaded mode
    //AdcRegs.ADCTRL1.bit.RESET=1;
    //AdcRegs.ADCTRL1.all = 0x2710;
    AdcRegs.ADCTRL1.all=0x2010;	//0x4010;
    // diable EVB trigger ADC, Reset Seq1,Reset Seq2, Disable ADC Interrupt
    //AdcRegs.ADCTRL2.all=0x4040;
    //AdcRegs.ADCTRL2.all = 0x0900;
    //AdcRegs.ADCTRL2.bit.RST_SEQ1=1;
    //AdcRegs.ADCTRL2.all=0x4000;
}	

//---------------------------------------------------------------------------
// InitGpio: 
//---------------------------------------------------------------------------
// This function initializes the Gpio to a known state.
//
void sInitGpio(void)
{

// Set GPIO A port pins,AL(Bits 7:0)(input)-AH(Bits 15:8) (output) 8bits
// Input Qualifier =0, none
    EALLOW;
    GpioMuxRegs.GPAMUX.all=0x07FF;
    GpioMuxRegs.GPADIR.all=0xE000;  
    GpioMuxRegs.GPAQUAL.all=0x00FF;	// sync clock/510

    GpioMuxRegs.GPBMUX.all=0x077F;  // ywt/061208C   
    GpioMuxRegs.GPBDIR.all=0xE080;
    GpioMuxRegs.GPBQUAL.all=0x00FF;	// Input qualifier disabled

    GpioMuxRegs.GPDMUX.all=0x0000;	//0x0021;	lg/040203
    GpioMuxRegs.GPDDIR.all=0x0063;	//0x0042;	lg/040203
    GpioMuxRegs.GPDQUAL.all=0x0000;

    GpioMuxRegs.GPEMUX.all=0x0001;
    GpioMuxRegs.GPEDIR.all=0x0000;
    GpioMuxRegs.GPEQUAL.all=0x0000;
    
//    GpioMuxRegs.GPFMUX.all=0x00FF;
//    GpioMuxRegs.GPFDIR.all=0xFF00;
    GpioMuxRegs.GPFMUX.all=0x00F7; //ywt/070322A for software control SPI CS line
    GpioMuxRegs.GPFDIR.all=0xFF08; //ywt/070322A for software control SPI CS line

//    GpioMuxRegs.GPFQUAL.all=0x0000;

    GpioMuxRegs.GPGMUX.all=0x0030;
    GpioMuxRegs.GPGDIR.all=0x0000;
//    GpioMuxRegs.GPGQUAL.all=0x0000;
    
    EDIS;    
}	

//---------------------------------------------------------------------------
// InitPieCtrl: 
//---------------------------------------------------------------------------
// This function initializes the PIE control registers to a known state.
//
void sInitPieCtrl(void)
{
	// Disable PIE:
	PieCtrlRegs.PIECRTL.bit.ENPIE = 0;

	// Clear all PIEIER registers:
	PieCtrlRegs.PIEIER1.all = 0;
	PieCtrlRegs.PIEIER2.all = 0;
	PieCtrlRegs.PIEIER3.all = 0;	
	PieCtrlRegs.PIEIER4.all = 0;
	PieCtrlRegs.PIEIER5.all = 0;
	PieCtrlRegs.PIEIER6.all = 0;
	PieCtrlRegs.PIEIER7.all = 0;
	PieCtrlRegs.PIEIER8.all = 0;
	PieCtrlRegs.PIEIER9.all = 0;
	PieCtrlRegs.PIEIER10.all = 0;
	PieCtrlRegs.PIEIER11.all = 0;
	PieCtrlRegs.PIEIER12.all = 0;

	// Clear all PIEIFR registers:
	PieCtrlRegs.PIEIFR1.all = 0;
	PieCtrlRegs.PIEIFR2.all = 0;
	PieCtrlRegs.PIEIFR3.all = 0;	
	PieCtrlRegs.PIEIFR4.all = 0;
	PieCtrlRegs.PIEIFR5.all = 0;
	PieCtrlRegs.PIEIFR6.all = 0;
	PieCtrlRegs.PIEIFR7.all = 0;
	PieCtrlRegs.PIEIFR8.all = 0;
	PieCtrlRegs.PIEIFR9.all = 0;
	PieCtrlRegs.PIEIFR10.all = 0;
	PieCtrlRegs.PIEIFR11.all = 0;
	PieCtrlRegs.PIEIFR12.all = 0;

	// Enable PIE:
	PieCtrlRegs.PIECRTL.bit.ENPIE = 1;
	PieCtrlRegs.PIEACK.all = 0xFFFF;
}	

//---------------------------------------------------------------------------
// InitPieVectTable: 
//---------------------------------------------------------------------------
// This function initializes the PIE vector table to a known state.
// This function must be executed after boot time.
//

void sInitPieVectTable(void)
{
	int	i;
	unsigned long *Source = (void *) &PieVectTableInit;
	unsigned long *Dest = (void *) &PieVectTable;
		
	EALLOW;	
	for(i=0; i < 128; i++)
		*Dest++ = *Source++;	
	EDIS;

	// Enable the PIE Vector Table
	PieCtrlRegs.PIECRTL.bit.ENPIE = 1;	
			
}

//---------------------------------------------------------------------------
//InitEV:
//---------------------------------------------------------------------------
//This function initializes the Evernt manager register

void sInitEV(void)
{
    //disable PDPINTA & PDPINTB
    EvaRegs.EVAIMRA.bit.PDPINTA=0;
    EvaRegs.EVAIFRA.bit.PDPINTA=1;
    
    EvbRegs.EVBIMRA.bit.PDPINTB=0;
    EvbRegs.EVBIFRA.bit.PDPINTB=1;

    //Disable compare Trip,diable compare output,compare out put force low
    //Enable T1,T2 PWM output for six independence PWM
    EvaRegs.GPTCONA.all=0x0040;	

    // Initialize EVA Timer 1:
    // Setup Timer 1 Registers (EV A)
    // Continuous Up/Down Mode, Reload when counter is 0,Disable timer
    // Disalbe timer compare operation,150MHz
    //EvaRegs.T1CON.all=0x0800;	
    // Enable compare output for six independence PWM
    EvaRegs.T1CON.all=0x0802;	

    //Enable full compare, load when T1CNT=0 or T1CNT=T1PR,
    //Active control register reload when T1CNT=0 or T1CNT=T1PR.
    //EvaRegs.COMCONA.all=0xA600;
    EvaRegs.COMCONA.all=0xAA00;
    // 1.5us dead time, 150MHz/16, Dead-band timer period=14
    //EvaRegs.DBTCONA.all=0x0EF0;
    EvaRegs.DBTCONA.all=0x0CF0;			//1.28us dead time	
    // disable PWM 1-6 
    EvaRegs.ACTRA.all=0;// three pairs PWM must be set together
	
//	EvaRegs.ACTRA.bit.CMP2ACT=2;
//	EvaRegs.ACTRA.bit.CMP1ACT=1;
//	
//	EvaRegs.ACTRA.bit.CMP4ACT=2;
//	EvaRegs.ACTRA.bit.CMP3ACT=1;
//	
//	
//	EvaRegs.ACTRA.bit.CMP6ACT=1;
//	EvaRegs.ACTRA.bit.CMP5ACT=2;
	
    EvaRegs.T1CNT=0;
    EvaRegs.T1PR=0x0F42;
    EvaRegs.T1CMPR=0;
    //enable compare for six independent PWM
    //EvaRegs.T1CMPR=0x0200;	
    // PWM 1-6 test
    //EvaRegs.CMPR1=0x05DC;
    //EvaRegs.CMPR2=0x05DC;
    //EvaRegs.CMPR3=0x05DC;
    //Enable T1 Period interrupt and T1 Underflow interrupt
    EvaRegs.EVAIMRA.bit.T1PINT=1;
    EvaRegs.EVAIFRA.bit.T1PINT=1;
    EvaRegs.EVAIMRA.bit.T1UFINT=1;
    EvaRegs.EVAIFRA.bit.T1UFINT=1;
    
    //Use timer2's compare interrupt to generate 1ms TimerTick
    //contunuous Up Mode, Reload when counter is 0,Diable timer

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产裸体歌舞团一区二区| 99综合影院在线| 亚洲色图在线看| 日韩欧美在线观看一区二区三区| 成人免费观看视频| 蜜桃精品视频在线| 一区2区3区在线看| 国产精品色哟哟网站| 精品久久久久av影院| 欧美日韩三级视频| 91猫先生在线| 国产成人99久久亚洲综合精品| 日本色综合中文字幕| 一区二区三区不卡视频| 国产精品久久毛片av大全日韩| 精品国产制服丝袜高跟| 欧美久久高跟鞋激| 色94色欧美sute亚洲13| 大白屁股一区二区视频| 精品一区二区三区的国产在线播放| 亚洲mv在线观看| 夜夜爽夜夜爽精品视频| 亚洲美女视频在线观看| 国产精品国产三级国产aⅴ原创 | 久久综合久久鬼色中文字| 欧美男生操女生| 欧美日韩中文精品| 在线看一区二区| 色综合久久九月婷婷色综合| 国产91在线看| 国产精品456| 国产精品综合二区| 韩国精品免费视频| 精品一区二区三区在线视频| 青青草97国产精品免费观看| 午夜精品久久久久久久99水蜜桃 | 91在线porny国产在线看| 成人午夜精品一区二区三区| 成人午夜免费电影| 成人av免费在线播放| 成人永久aaa| 成人精品一区二区三区中文字幕| 粉嫩在线一区二区三区视频| 国产精品一级片在线观看| 国产一区视频网站| 国产成人精品综合在线观看| 国产91精品露脸国语对白| 丰满白嫩尤物一区二区| 99久久精品久久久久久清纯| av一区二区三区| 欧洲人成人精品| 欧美精品久久99| 91精品国产日韩91久久久久久| 日韩色视频在线观看| 精品成人私密视频| 日本一区二区成人在线| 亚洲欧洲成人av每日更新| 亚洲精品你懂的| 日本亚洲电影天堂| 国产成人精品一区二| 91麻豆精品视频| 欧美一区二区久久久| 精品免费一区二区三区| 国产精品色婷婷| 亚洲一区二区三区四区五区中文 | 中文久久乱码一区二区| 最新热久久免费视频| 亚洲国产综合人成综合网站| 麻豆免费看一区二区三区| 国产91精品在线观看| 在线观看精品一区| 日韩欧美激情四射| 中文字幕乱码一区二区免费| 亚洲一二三区不卡| 狠狠色综合色综合网络| 91网站最新网址| 欧美一区二区日韩| 1区2区3区国产精品| 午夜精品久久久久久久久久久| 精品一区二区久久久| 97久久超碰国产精品| 欧美一区二区三区思思人| 国产女人aaa级久久久级| 午夜精品久久久久久久 | 色先锋资源久久综合| 欧美电视剧在线观看完整版| 亚洲人午夜精品天堂一二香蕉| 日本不卡一区二区| 99国产精品久久久久| 日韩欧美国产一区二区三区| 亚洲欧美影音先锋| 久久99国产精品免费网站| 91浏览器在线视频| 2019国产精品| 天天影视网天天综合色在线播放| 国产成人在线影院| 欧美一级一级性生活免费录像| 中文字幕av一区二区三区免费看| 五月综合激情婷婷六月色窝| 不卡一区二区中文字幕| 欧美成人性福生活免费看| 亚洲国产日韩精品| av电影天堂一区二区在线观看| 日韩一级免费观看| 亚洲香蕉伊在人在线观| 成人小视频在线观看| 日韩欧美视频一区| 亚洲主播在线观看| 99久久99久久精品国产片果冻| 日韩精品一区二区三区蜜臀| 午夜精品久久久久久久99水蜜桃| 9色porny自拍视频一区二区| 国产亚洲欧美日韩在线一区| 美女在线一区二区| 91精品国产综合久久香蕉麻豆| 亚洲精品视频在线| 99热精品一区二区| 国产精品午夜久久| 成人性生交大片| 亚洲国产精品传媒在线观看| 极品尤物av久久免费看| 欧美成人官网二区| 美女网站色91| 日韩一卡二卡三卡国产欧美| 日韩电影免费在线看| 欧美男人的天堂一二区| 亚洲在线视频一区| 欧美在线一二三四区| 一区二区三区精品在线观看| 色欧美片视频在线观看| 亚洲色图视频免费播放| 99re这里只有精品6| 国产精品久久久99| 99热这里都是精品| 亚洲欧美日韩在线播放| 本田岬高潮一区二区三区| 国产精品麻豆欧美日韩ww| 99久久99久久精品免费观看| 亚洲人成精品久久久久久| 在线观看国产日韩| 午夜精品福利视频网站| 欧美一区二区精品在线| 精品一区二区三区的国产在线播放| 欧美va在线播放| 国产寡妇亲子伦一区二区| 国产精品卡一卡二| 色就色 综合激情| 午夜av一区二区三区| 日韩免费观看高清完整版在线观看| 久草在线在线精品观看| 中文在线一区二区| av电影在线观看不卡| 亚洲国产你懂的| 欧美一级片免费看| 国产成人午夜精品影院观看视频 | 成人午夜短视频| 玉米视频成人免费看| 欧美精品精品一区| 国内精品免费在线观看| 中文字幕一区二区三区色视频| 欧美性受极品xxxx喷水| 日韩国产精品久久久久久亚洲| 精品蜜桃在线看| caoporn国产精品| 天天操天天干天天综合网| 精品成人在线观看| 色综合天天视频在线观看| 亚洲国产美女搞黄色| 亚洲精品在线观| 91一区在线观看| 美日韩一区二区三区| 中文字幕在线一区免费| 欧美一区二区视频观看视频| 成人国产电影网| 天天免费综合色| 国产精品久久99| 日韩欧美亚洲一区二区| 色综合久久久久久久久| 久久99精品久久只有精品| 中文字幕一区二区日韩精品绯色| 欧美电影一区二区三区| 成人黄色大片在线观看| 日本不卡视频在线观看| 亚洲日本丝袜连裤袜办公室| 日韩免费观看高清完整版| 91色porny在线视频| 久久99国产精品免费网站| 亚洲精品高清视频在线观看| 久久蜜桃香蕉精品一区二区三区| 91福利国产精品| 国产成人精品亚洲日本在线桃色| 亚洲午夜精品在线| 中文字幕一区二区三区在线观看| 日韩精品资源二区在线| 色吧成人激情小说| 成人激情小说网站| 国产美女久久久久| 日本最新不卡在线| 一区二区三区毛片| 亚洲欧洲无码一区二区三区|