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

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

?? pbled_test.c

?? ADI 公司的DSP ADSP21369 EZ-KIT LITE開(kāi)發(fā)板的全部源代碼
?? C
字號(hào):
////////////////////////////////////////////////////////////////////////////
//
//  Program to check the functionality of core accesses to 32-bit SRAM
//    device
//
//    - PRD
//

#ifdef __ADSP21375__
	#include <Cdef21375.h>
	#include <def21375.h>
#elif __ADSP21369__
	#include <Cdef21369.h>
	#include <def21369.h>
#endif

#include <sru.h>
#include <signal.h>
#include <stdio.h>
#include <sysreg.h>

#include "post_common.h"
#include "PBLED_test.h"

//////////////////////////////////////////////////////////////////////////////
//
// globals
//
//////////////////////////////////////////////////////////////////////////////
int g_iEnterTestMode = 0;



//////////////////////////////////////////////////////////////////////////////
//
// Function Prototypes
//
//////////////////////////////////////////////////////////////////////////////
int TEST_LED_and_PB(void);
void ClearSet_LED(const enLED led, const int bState);
void IRQ0_routine(int sig_int);
void IRQ1_routine(int sig_int);
void DAIroutine(int sig_int);

void Cleanup_SRU_INTS(void);


//////////////////////////////////////////////////////////////////////////////
//
// Stand alone test jig
//
//////////////////////////////////////////////////////////////////////////////
#ifdef _STANDALONE_ // use this to run standalone tests
int main(void)
{
	int bPassed = 0;
	int n;

	Setup_leds();

	while(1)
	{
		bPassed = TEST_LED_and_PB();
	}

	return 0;
}
#endif //#ifdef _STANDALONE_


//////////////////////////////////////////////////////////////////////////////
// int TEST_LED_and_PB(void)
//
// PURPOSE:		Test the push buttons and LED's
//
//////////////////////////////////////////////////////////////////////////////
int TEST_LED_and_PB(void)
{
	int iReturn = 0;

    Setup_Ints();

    *pSYSCTL &= (~MSEN);


	// for each push button, illuminate two LED's
	// when all PB's have been pressed, test will return
	// with a pass or fail, or it will get stuck here.
	do{
	    asm("nop;");
	}while( 0x0F != g_iEnterTestMode );

    sysreg_bit_clr(sysreg_MODE1, IRPTEN);
	iReturn = 1;

	Cleanup_SRU_INTS();

 	*pSYSCTL |= MSEN;


	return iReturn;
}


//////////////////////////////////////////////////////////////////////////////
// void LED_BAR(const int iSpeed)
//
// PURPOSE:		Display a blinking LED bar
//
// INPUT:		iSpeed - the speed of the blink
//////////////////////////////////////////////////////////////////////////////
void LED_BAR(const int iSpeed)
{
	enLED n;
	int j;

    // Note that MS2 & MS3 pin multiplexed with flag2 & flag3.
    // MSEN bit must be enabled to access SDRAM, but LED8 cannot be driven with sdram
    // Note that MS2 & MS3 pin multiplexed with flag2 & flag3
    // Programming the mutliplexed pin as MS2
    *pSYSCTL &= (~MSEN);

	for( n = LED1; n < LAST_LED; (n <<= 1) )
	{
		ClearSet_LED(n, 3);
		Delay(iSpeed);
	}


    // Note that MS2 & MS3 pin multiplexed with flag2 & flag3.
    // MSEN bit must be enabled to access SDRAM, but LED8 cannot be driven with sdram
    // Note that MS2 & MS3 pin multiplexed with flag2 & flag3
    // Programming the mutliplexed pin as MS2
    *pSYSCTL |= MSEN;

}


//////////////////////////////////////////////////////////////////////////////
// void Blink_LED(const int enleds, const int iSpeed)
//
// PURPOSE:		Blink various LED's
//
// INPUT:		iSpeed - the speed of the blink
//				enleds - the LED to actually blink
//////////////////////////////////////////////////////////////////////////////
void Blink_LED(const int enleds, const int iSpeed)
{
	int j;
	enLED n;

	while( 1 )
	{
		for( n = LED1; n < LAST_LED; (n <<= 1) )
		{
			if( n & enleds )
			{
				ClearSet_LED(n, 3);
			}
		}

		Delay(iSpeed);
	}
}


//////////////////////////////////////////////////////////////////////////////
// void ClearSet_LED_Bank(const int enleds, const int iState)
//
// PURPOSE:		Clear or set a particular LED or group of LED's
//
// INPUT:		iState - the state ON, OFF, TGL
//				enleds - the LED(s) to actually blink
//////////////////////////////////////////////////////////////////////////////
void ClearSet_LED_Bank(const int enleds, const int iState)
{
	enLED n;
	int nTempState = iState;


	for( n = LED1; n < LAST_LED; (n <<= 1) )
	{
		if( n & enleds )
		{
			ClearSet_LED(n, (nTempState & 0x3) );
		}

		nTempState >>= 2;
	}
}


//////////////////////////////////////////////////////////////////////////////
// void ClearSet_LED(const enLED led, const int bState)
//
// PURPOSE:		Clear or set a particular LED (NOT A GROUP)
//
// INPUT:		iState - the state ON, OFF, TGL
//				enleds - the LED(s) to actually blink
//////////////////////////////////////////////////////////////////////////////
void ClearSet_LED(const enLED led, const int bState)
{
	switch( led )
	{
		case LED6:
		{
			if( 0 == bState )
			{
				SRU(LOW,DAI_PB15_I);
			}
			else if( 1 == bState )
			{
				SRU(HIGH,DAI_PB15_I);
			}
			else // toggle the bits
			{
				(*pSRU_PIN3) ^= 0x00004000;
			}
		}
		break;

		case LED7:
		{
			if( 0 == bState )
			{
				SRU(LOW,DAI_PB16_I);
			}
			else if( 1 == bState )
			{
				SRU(HIGH,DAI_PB16_I);
			}
			else // toggle the bits
			{
				(*pSRU_PIN3) ^= 0x00200000;
			}
		}
		break;

		case LED1:
		{
			if( 0 == bState )
			{
				sysreg_bit_clr(sysreg_FLAGS, FLG4);
			}
			else if( 1 == bState )
			{
				sysreg_bit_set(sysreg_FLAGS, FLG4);
			}
			else // toggle the bits
			{
				sysreg_bit_tgl(sysreg_FLAGS, FLG4);
			}
		}
		break;

		case LED2:
		{
			if( 0 == bState )
			{
				sysreg_bit_clr(sysreg_FLAGS, FLG5);
			}
			else if( 1 == bState )
			{
				sysreg_bit_set(sysreg_FLAGS, FLG5);
			}
			else // toggle the bits
			{
				sysreg_bit_tgl(sysreg_FLAGS, FLG5);
			}
		}
		break;

		case LED3:
		{
			if( 0 == bState )
			{
				sysreg_bit_clr(sysreg_FLAGS, FLG6);
			}
			else if( 1 == bState )
			{
				sysreg_bit_set(sysreg_FLAGS, FLG6);
			}
			else // toggle the bits
			{
				sysreg_bit_tgl(sysreg_FLAGS, FLG6);
			}
		}
		break;

		case LED4:
		{
			if( 0 == bState )
			{
				sysreg_bit_clr(sysreg_FLAGS, FLG7);
			}
			else if( 1 == bState )
			{
				sysreg_bit_set(sysreg_FLAGS, FLG7);
			}
			else // toggle the bits
			{
				sysreg_bit_tgl(sysreg_FLAGS, FLG7);
			}
		}
		break;

		case LED5:
		{
			if( 0 == bState )
			{
				sysreg_bit_clr(sysreg_FLAGS, FLG8);
			}
			else if( 1 == bState )
			{
				sysreg_bit_set(sysreg_FLAGS, FLG8);
			}
			else // toggle the bits
			{
				sysreg_bit_tgl(sysreg_FLAGS, FLG8);
			}
		}
		break;

		case LED8:
		{
			if( 0 == bState )
			{
				sysreg_bit_clr(sysreg_FLAGS, FLG3);
			}
			else if( 1 == bState )
			{
				sysreg_bit_set(sysreg_FLAGS, FLG3);
			}
			else // toggle the bits
			{
				sysreg_bit_tgl(sysreg_FLAGS, FLG3);
			}
		}
		break;
	}// end switch

}


//////////////////////////////////////////////////////////////////////////////
// void Setup_Ints(void)
//
// PURPOSE:		Configure the system to accept the push buttons as inputs
//
//////////////////////////////////////////////////////////////////////////////
void Setup_Ints(void)
{
	Config_SRU_INTS();


    (*pDAI_IRPTL_PRI) = (SRU_EXTMISCA1_INT  | SRU_EXTMISCA2_INT);    //unmask individual interrupts
    (*pDAI_IRPTL_RE) = (SRU_EXTMISCA1_INT  | SRU_EXTMISCA2_INT);    //make sure interrupts latch on the rising edge

	//Set up interrupt priorities
    sysreg_bit_set(sysreg_IMASK, DAIHI); //make DAI interrupts high priority

    (*pSYSCTL) |= (IRQ0EN|IRQ1EN);

    sysreg_bit_set(sysreg_MODE2, (IRQ0E|IRQ1E) );
    sysreg_bit_clr(sysreg_IRPTL, (IRQ1I|IRQ0I) );
    sysreg_bit_set(sysreg_IMASK, (IRQ1I|IRQ0I) ); //enable IRQ interrupts
    sysreg_bit_set(sysreg_MODE1, IRPTEN ); 		  //enable global interrupts

    interrupt(SIG_DAIH,DAIroutine);
    interrupt(SIG_IRQ0,IRQ0_routine);
    interrupt(SIG_IRQ1,IRQ1_routine);
}

//////////////////////////////////////////////////////////////////////////////
// void Cleanup_SRU_INTS(void)
//
// PURPOSE: 	Re Configure the interrupts after LED test
//
// INPUT:	none
// RETURNS: none
//
//////////////////////////////////////////////////////////////////////////////
void Cleanup_SRU_INTS(void)
{
    interrupt(SIG_DAIH,SIG_IGN);
    interrupt(SIG_IRQ0,SIG_IGN);
    interrupt(SIG_IRQ1,SIG_IGN);
}


//////////////////////////////////////////////////////////////////////////////
// void Setup_leds(void)
//
// PURPOSE:		Setup LED's to be outputs
//
//////////////////////////////////////////////////////////////////////////////
void Setup_leds(void)
{
	Config_SRU_LEDS();

    sysreg_bit_set(sysreg_FLAGS, (FLG3O|FLG4O|FLG5O|FLG6O|FLG7O|FLG8O) ); 	//Setting flag pins as outputs
	sysreg_bit_clr(sysreg_FLAGS, (FLG3|FLG4|FLG5|FLG6|FLG7|FLG8) );			//Clearing flag pins
}


//////////////////////////////////////////////////////////////////////////////
// void IRQ0_routine(int sig_int)
//
// PURPOSE:		ISR for pushbutton 2
//
//////////////////////////////////////////////////////////////////////////////
void IRQ0_routine(int sig_int)
{
	g_iEnterTestMode += 0x02;

	ClearSet_LED(LED3, 3);
   	ClearSet_LED(LED4, 3);
}

//////////////////////////////////////////////////////////////////////////////
// void IRQ1_routine(int sig_int)
//
// PURPOSE:		ISR for pushbutton 1
//
//////////////////////////////////////////////////////////////////////////////
void IRQ1_routine(int sig_int)
{
	g_iEnterTestMode += 0x01;

	ClearSet_LED(LED1, 3);
   	ClearSet_LED(LED2, 3);
}


//////////////////////////////////////////////////////////////////////////////
// void IRQ1_routine(int sig_int)
//
// PURPOSE:		ISR for pushbutton 3 and 4
//
//////////////////////////////////////////////////////////////////////////////
void DAIroutine(int sig_int)
{
	int iTest;
    iTest = (*pDAI_IRPTL_H); // reading pDAI_IRPTL_H clears the latched interrupt.
    if( SRU_EXTMISCA1_INT == iTest )
    {
		g_iEnterTestMode += 0x04;
    	ClearSet_LED(LED5, 3);
    	ClearSet_LED(LED6, 3);
    }
    else if( SRU_EXTMISCA2_INT == iTest )
    {
		g_iEnterTestMode += 0x08;
    	ClearSet_LED(LED7, 3);
    	ClearSet_LED(LED8, 3);
    }
}



?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产超碰在线一区| 久久久久久久久免费| 91福利社在线观看| 91在线porny国产在线看| 不卡视频在线观看| 99re66热这里只有精品3直播| 国产a视频精品免费观看| 国产成人av一区二区三区在线 | 欧美国产乱子伦 | 日精品一区二区三区| 性久久久久久久久| 日本不卡的三区四区五区| 日本三级亚洲精品| 国内偷窥港台综合视频在线播放| 国产在线不卡一卡二卡三卡四卡| 国产91丝袜在线观看| 91性感美女视频| 91久久精品国产91性色tv| 欧美三级视频在线观看| 日韩免费看的电影| 欧美激情综合五月色丁香小说| 中国色在线观看另类| 一区二区在线电影| 日韩不卡一区二区三区| 国产麻豆一精品一av一免费| 成人理论电影网| 色天天综合色天天久久| 欧美精品乱码久久久久久| 精品国产免费久久| 中文字幕在线播放不卡一区| 亚洲男同1069视频| 蜜臀av一级做a爰片久久| 国产乱子伦视频一区二区三区| av在线一区二区三区| 欧美综合久久久| 91精品国产欧美一区二区成人| 久久精品在线观看| 亚洲免费视频成人| 九九精品一区二区| 91蜜桃在线免费视频| 日韩亚洲欧美在线| 国产精品嫩草影院com| 天天综合色天天综合| 高清在线不卡av| 欧美日本在线观看| 国产欧美日韩亚州综合 | 午夜欧美一区二区三区在线播放| 韩国午夜理伦三级不卡影院| 91国产成人在线| www成人在线观看| 亚洲一区二三区| 国产99久久久国产精品| 91精品午夜视频| 国产精品区一区二区三| 日本va欧美va欧美va精品| 97久久精品人人做人人爽50路 | 一区二区三区日韩欧美精品| 精品一区二区三区视频在线观看 | 久久婷婷一区二区三区| 夜夜嗨av一区二区三区网页| 国产美女av一区二区三区| 欧美理论在线播放| 国产精品久久看| 精品综合久久久久久8888| 欧美网站一区二区| 国产精品日韩精品欧美在线| 久久成人麻豆午夜电影| 欧美日韩你懂得| 日韩美女视频一区| 丁香啪啪综合成人亚洲小说| 日韩欧美电影一区| 一区二区三区毛片| 99热在这里有精品免费| 2024国产精品| 免费在线观看成人| 精品视频一区 二区 三区| 最新久久zyz资源站| 国产剧情av麻豆香蕉精品| 91精品婷婷国产综合久久性色| 亚洲自拍偷拍九九九| 91免费视频网| 国产精品国产a| 成人自拍视频在线| 国产日韩欧美不卡| 精品一区二区三区免费毛片爱| 欧美日韩高清一区二区不卡| 一区二区高清视频在线观看| 97se亚洲国产综合自在线不卡| 国产精品区一区二区三区| 国产精品18久久久久久久久 | 国产亚洲一区二区三区在线观看| 日产国产高清一区二区三区| 欧美日韩精品电影| 亚洲国产日韩a在线播放| 欧美中文字幕一二三区视频| 亚洲欧美日韩综合aⅴ视频| 99视频国产精品| 亚洲日本va在线观看| 色偷偷久久人人79超碰人人澡| 国产精品家庭影院| 99re8在线精品视频免费播放| 亚洲欧美综合在线精品| 99精品国产热久久91蜜凸| 自拍av一区二区三区| 色婷婷综合久久久中文一区二区 | aaa欧美色吧激情视频| 亚洲欧洲av色图| 欧美影院精品一区| 午夜精品久久久久久不卡8050| 7777女厕盗摄久久久| 久久精品国产精品青草| 精品国产乱码久久久久久1区2区 | 欧美日韩国产美| 日本女优在线视频一区二区| 欧美成人免费网站| 国产河南妇女毛片精品久久久| 国产精品久久久一本精品| 日本久久精品电影| 舔着乳尖日韩一区| 26uuu精品一区二区三区四区在线| 国产高清久久久久| 亚洲日本欧美天堂| 欧美日韩午夜精品| 精品在线亚洲视频| 国产精品欧美久久久久无广告| 91福利区一区二区三区| 日本欧美一区二区在线观看| 久久久三级国产网站| 91香蕉视频污在线| 日韩电影在线观看网站| 久久日一线二线三线suv| 91在线国内视频| 天天做天天摸天天爽国产一区| 久久亚洲精精品中文字幕早川悠里| 成人综合在线网站| 亚洲第一久久影院| 国产日韩欧美精品一区| 欧美最新大片在线看| 精品在线观看免费| 亚洲理论在线观看| 日韩欧美一级特黄在线播放| 成人黄色在线网站| 三级一区在线视频先锋| 国产视频一区不卡| 欧美欧美欧美欧美| 国产91丝袜在线播放0| 亚洲国产精品一区二区www| 精品国产乱码久久久久久免费| 色综合久久九月婷婷色综合| 精品亚洲国产成人av制服丝袜 | 亚洲成人免费电影| 久久婷婷成人综合色| 欧美中文字幕亚洲一区二区va在线 | 4438x亚洲最大成人网| 国产成人av电影| 日韩专区在线视频| 亚洲欧洲日韩在线| 欧美一级久久久| 91行情网站电视在线观看高清版| 久久成人免费日本黄色| 亚洲国产综合色| 国产精品乱人伦| 精品不卡在线视频| 欧美日韩一区二区三区四区| 成人福利电影精品一区二区在线观看| 日韩精品一级二级 | 亚洲三级在线播放| 欧美成人免费网站| 欧美性三三影院| 成人免费毛片高清视频| 久久精品国产精品青草| 亚洲成人tv网| 亚洲欧洲av一区二区三区久久| 欧美变态tickling挠脚心| 色一情一乱一乱一91av| 成人免费视频视频在线观看免费| 老司机免费视频一区二区三区| 亚洲国产色一区| 亚洲精品免费在线| 国产精品天天看| 久久综合九色欧美综合狠狠| 欧美性猛交一区二区三区精品| av亚洲产国偷v产偷v自拍| 国产精品一区免费视频| 久久99久久99精品免视看婷婷 | 欧美日韩一区在线| 91麻豆123| 99久久精品99国产精品| 丁香激情综合五月| 国产精品69久久久久水密桃| 久久99精品久久久久久| 蜜臀va亚洲va欧美va天堂| 肉肉av福利一精品导航| 亚洲影院理伦片| 亚洲精品日日夜夜| 一区二区在线观看视频| 亚洲精选在线视频| 亚洲精品va在线观看| 樱花草国产18久久久久| 亚洲男人的天堂一区二区 |