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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? example_28xgpio.c

?? C語言編寫的DSP例程,是一個跑馬燈程序 希望對初學者有用
?? C
字號:

#include "DSP28_Device.h"
#include "DSP28_Globalprototypes.h"


#define SCIA_INT	1

#define	  SetData	GpioDataRegs.GPFDAT.bit.GPIOF12 = 1
#define	  ClrData   GpioDataRegs.GPFDAT.bit.GPIOF12 = 0
#define	  SetClk	GpioDataRegs.GPFDAT.bit.GPIOF8 = 1
#define	  ClrClk	GpioDataRegs.GPFDAT.bit.GPIOF8 = 0


unsigned  int  *LedReg  = (unsigned int *)0x27FF;
unsigned  int  *Led8Lock = (unsigned int *)0x2BFF;
const	Uint16	LedCode[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF};
const	Uint16	SpiCode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
Uint16	LedCount = 0;
Uint16	SpiCount = 0;
unsigned long Timer0Counter=0,Timer0Counter1=0;

//float	a1[TotalChannelNumber][NOrder];
int16  *a1 = (int16 *)0x100000;
extern struct ADChannelStruct* ADChannel;

float	adclo;
unsigned int ADIndex;
unsigned int CaculateSign,CaculateSign1;
int StoreSign=1,nCaculateMode=-2;


unsigned int Sci_VarRx[100];
unsigned int RXIndex=0;
unsigned int Send_Flag;

unsigned long CaculateTimeCounter=0,CaculateTimeCounter1=0;
	
// Prototype statements for functions found within this file.
interrupt void ad(void);
interrupt void ISRTimer0(void);
interrupt void ISRTimer2(void);

interrupt void RX_sci_A(void);
//interrupt void TX_sci_A(void);

void	SendData(Uint16	data);
extern void CacluateValue(int AreaNo,int *CaculateMode);
void ad1(void);

void main(void)
{

	unsigned int i,j;


	/*初始化系統*/
	InitSysCtrl();

	/*關中斷*/
	DINT;
	IER = 0x0000;
	IFR = 0x0000;
	/*初始化PIE*/
	InitPieCtrl();

	/*初始化PIE中斷矢量表*/
	InitPieVectTable();	
	
	/*初始化外設*/
    InitPeripherals();
    
	InitGpio();
	
	InitSci();
    for(i = 0; i < 100; i++)
    {
    	Sci_VarRx[i] = 0;
    }
    i = 0;
    j = 0;
    Send_Flag = 0;
    
	EALLOW;	
	PieVectTable.TINT0 = &ISRTimer0;
	PieVectTable.TINT2 = &ISRTimer2;
	PieVectTable.ADCINT=&ad;
	
	#if SCIA_INT
//		PieVectTable.TXAINT = &TX_sci_A;
		PieVectTable.RXAINT = &RX_sci_A;
	#endif	
	
	EDIS;   
	
   
    
	/*設置CPU*/
	
	//ConfigCpuTimer(&CpuTimer0, 10, 5000000);//10MHz,500000 period=0.5s
	ConfigCpuTimer(&CpuTimer0, 100, 10000);	//0.0001s per interrupt, 10kHz
	ConfigCpuTimer(&CpuTimer2, 100, 1000000);	
	 
	InitAdc();
	
	ADIndex=0;
    CaculateSign=0; 
    CaculateSign1=0;
    
 	StartCpuTimer0();
 	StartCpuTimer2();

    /*開中斷*/
	IER |= M_INT1;
	IER |= M_INT14;	
	IER |= M_INT9;
	PieCtrl.PIEIER1.bit.INTx7=1;
	

	EINT;   // Enable Global interrupt INTM
	ERTM;	// Enable Global realtime interrupt DBGM
	*Led8Lock = 0X01;
	*LedReg = 0xFF;
	
//	while(AdcRegs.ADC_ST_FLAG.bit.SEQ1_BSY==0)
		{			

//			AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;

		}
	nCaculateMode=-2;
	for(;;)
	{

			
	  	KickDog();
	  	if((SciaTx_Ready() == 1) && (Send_Flag == 1))
		{
			SciaRegs.SCITXBUF = Sci_VarRx[i];
			Send_Flag = 0;
			i++;
			if(i == j)
			{
				i = 0;
				j = 0;
			}
		}
		
		
		#if !SCIA_INT
		if(SciaRx_Ready() == 1)
		{
			Sci_VarRx[j] = SciaRegs.SCIRXBUF.all;
			Send_Flag = 1;
			j++;
			if(j == 100)
			{
				j = 0;
			}
		}
		#endif
		
		if(CaculateSign==1)
		{
			CaculateTimeCounter++;
		   CacluateValue(0,&nCaculateMode);
		   CaculateSign=0;
		}
		if(CaculateSign1==1)
		{
			CaculateTimeCounter++;
		   CacluateValue(1,&nCaculateMode);
		   CaculateSign1=0;
		}
	}

} 	

interrupt void ISRTimer0(void)
{

	
	
	PieCtrl.PIEACK.bit.ACK7=1;
 
//	ad1();   
	Timer0Counter++;
//	while(AdcRegs.ADC_ST_FLAG.bit.SEQ1_BSY==0)
	{			
	    //Timer0Counter1++;
//		AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;
	}
	
}

interrupt void ISRTimer2(void)
{
	*LedReg = LedCode[LedCount];
	LedCount++;
	if (LedCount>8)	
	   LedCount=0;
	
	SendData(SpiCode[SpiCount]);
	SpiCount++; 
	if (SpiCount>16)	
	    SpiCount=0;
	
	if(nCaculateMode==-2)nCaculateMode=-1;  //Cacluate Mode=-1 to caculate channel offset
}

void	Delay(Uint16  data)
{
	Uint16	i;
	for (i=0;i<data;i++) { ; }	
}	
void	SendData(Uint16 data)
{
	Uint16	i,Temp;
	Temp = 0x80;
	for	(i=0;i<8;i++)
		{
			if ((data & Temp)==0)	ClrData;
			else	SetData;
			Temp >>= 1;
			ClrClk;
			Delay(10);
			SetClk;
		}
	*Led8Lock = 0x00;
	Delay(10);	
	*Led8Lock = 0x01;
	SetData;		
}		

//===========================================================================
// No more.
//===========================================================================
interrupt void ad(void)
{

    int i=0;
//	IFR=0x0000;
//	PieCtrl.PIEIFR1.all = 0;
//	PieCtrl.PIEACK.all=0xffff;
	
	PieCtrl.PIEACK.bit.ACK6=1;
	/*
	a1[0][ADIndex]=((float)AdcRegs.RESULT0)*3.0/65520.0+adclo;	
	a1[1][ADIndex]=((float)AdcRegs.RESULT1)*3.0/65520.0+adclo;
	a1[2][ADIndex]=((float)AdcRegs.RESULT2)*3.0/65520.0+adclo;
	a1[3][ADIndex]=((float)AdcRegs.RESULT3)*3.0/65520.0+adclo;
	a1[4][ADIndex]=((float)AdcRegs.RESULT4)*3.0/65520.0+adclo;
	
	a1[5][ADIndex]=((float)AdcRegs.RESULT5)*3.0/65520.0+adclo;
	a1[6][ADIndex]=((float)AdcRegs.RESULT6)*3.0/65520.0+adclo;
	a1[7][ADIndex]=((float)AdcRegs.RESULT7)*3.0/65520.0+adclo;
	a1[8][ADIndex]=((float)AdcRegs.RESULT8)*3.0/65520.0+adclo;
	a1[9][ADIndex]=((float)AdcRegs.RESULT9)*3.0/65520.0+adclo;
	a1[10][ADIndex]=((float)AdcRegs.RESULT10)*3.0/65520.0+adclo;
	a1[11][ADIndex]=((float)AdcRegs.RESULT11)*3.0/65520.0+adclo;
	a1[12][ADIndex]=((float)AdcRegs.RESULT12)*3.0/65520.0+adclo;
	a1[13][ADIndex]=((float)AdcRegs.RESULT13)*3.0/65520.0+adclo;
	a1[14][ADIndex]=((float)AdcRegs.RESULT14)*3.0/65520.0+adclo;
	a1[15][ADIndex]=((float)AdcRegs.RESULT15)*3.0/65520.0+adclo;
	*/
	if(ADIndex==0&&nCaculateMode!=-1)
	{
		if(CaculateSign==0)
		{
		   a1=(int16 *)0x100000;
		   StoreSign=1;
		}
		else if(CaculateSign1==0)
		{
		   a1=(int16 *)0x100c80;
		   StoreSign=2;
		}
		else
		{
		   StoreSign=0;
		}
	}
	if(StoreSign>0)
	{
	   /*
		*(a1+ADIndex)=AdcRegs.RESULT0;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT2;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT4;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT6;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT8;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT10;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT12;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT14;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT1;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT3;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT5;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT7;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT9;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT11;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT13;
		ADIndex++;
		*(a1+ADIndex)=AdcRegs.RESULT15;
		
		ADIndex++;
		*/
		for(i=0;i<16;i++)
		{
		  // *(a1+ADIndex+i) =*((Uint16 *)(0x007108+i));//-(Uint16)(*(float *)(0x102000+i*6+3));//ADCResult0
		  *(a1+ADIndex+i) =*((int16 *)(0x007108+i))-(int16)(*(float *)(0x102000+i*12+6));//ADCResult0
		}
		ADIndex+=16;
		if(ADIndex>=3200)
		{
		    if(StoreSign==1)CaculateSign=1;
		    if(StoreSign==2)CaculateSign1=1;
		    ADIndex=0;
		    //CaculateTimeCounter++;
		}
	}
	
	
	CaculateTimeCounter1++;
	
	AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1;
//	AdcRegs.ADCTRL2.bit.RST_SEQ1=1;
//	AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;
//	EINT;
	
}

interrupt void RX_sci_A(void)
{

	Sci_VarRx[RXIndex++] = SciaRegs.SCIRXBUF.all;
	Send_Flag = 1;
	if(RXIndex == 100)
	{
		RXIndex = 0;
	}
	
	
 
}

void ad1(void)
{


	
	if(CaculateSign==0)
	{
		*(a1+ADIndex)=(float)AdcRegs.RESULT0;
		ADIndex++;
		*(a1+ADIndex)=(float)AdcRegs.RESULT1;
		ADIndex++;
		*(a1+ADIndex)=(float)AdcRegs.RESULT2;
		ADIndex++;
		*(a1+ADIndex)=(float)AdcRegs.RESULT3;
		ADIndex++;
		*(a1+ADIndex)=(float)AdcRegs.RESULT4;
		ADIndex++;
		*(a1+ADIndex)=(float)AdcRegs.RESULT5;
		ADIndex++;
		*(a1+ADIndex)=(float)AdcRegs.RESULT6;
		ADIndex++;
		*(a1+ADIndex)=(float)AdcRegs.RESULT7;
		ADIndex++;
		*(a1+ADIndex)=(float)AdcRegs.RESULT8;
		ADIndex++;
		*(a1+ADIndex)=(float)AdcRegs.RESULT9;
		ADIndex++;
		*(a1+ADIndex)=(float)AdcRegs.RESULT10;
		ADIndex++;
		*(a1+ADIndex)=(float)AdcRegs.RESULT11;
		ADIndex++;
		*(a1+ADIndex)=(float)AdcRegs.RESULT12;
		ADIndex++;
		*(a1+ADIndex)=(float)AdcRegs.RESULT14;
		ADIndex++;
		*(a1+ADIndex)=(float)AdcRegs.RESULT15;
		
		ADIndex++;
		if(ADIndex>=3290)
		{
		    CaculateSign=1;
		    ADIndex=0;
		    CaculateTimeCounter++;
		}
		AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1;
	}
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色视频欧美一区二区三区| 国产精品福利电影一区二区三区四区| 国产一区二区毛片| 成人天堂资源www在线| 欧美在线观看一区二区| 欧美精品一区二区三区很污很色的| 中文字幕欧美日本乱码一线二线| 亚洲成人第一页| 国内精品嫩模私拍在线| 欧美日韩视频专区在线播放| 国产精品网站导航| 极品少妇xxxx偷拍精品少妇| 色视频一区二区| 国产精品久久久久四虎| 久久99国产精品久久99果冻传媒| 一本大道久久a久久综合婷婷| 精品蜜桃在线看| 丝瓜av网站精品一区二区| 成人av在线资源| 欧美精品一区二区三区蜜桃| 男男成人高潮片免费网站| 在线精品视频一区二区三四| 欧美国产综合色视频| 国产一区欧美一区| 日韩久久久精品| 蜜桃在线一区二区三区| 欧美日韩一区精品| 亚洲主播在线观看| 97aⅴ精品视频一二三区| 国产日韩欧美一区二区三区乱码 | 欧美精品高清视频| 综合久久久久久| aaa国产一区| 国产精品久久三| 成人美女视频在线观看18| 国产婷婷色一区二区三区在线| 成人免费视频app| 久久精品视频网| 福利一区在线观看| 亚洲国产成人午夜在线一区 | 亚洲成人免费av| 欧美亚洲高清一区| 婷婷综合五月天| 欧美精品aⅴ在线视频| 亚洲成年人网站在线观看| 337p亚洲精品色噜噜噜| 成人aaaa免费全部观看| 国产网红主播福利一区二区| 蜜臀久久久99精品久久久久久| 欧美日韩精品免费观看视频 | www.亚洲免费av| 亚洲视频电影在线| 欧美亚洲综合色| 亚洲高清在线视频| 日韩欧美国产1| 国产91富婆露脸刺激对白| 亚洲国产成人自拍| 欧洲精品一区二区三区在线观看| 亚洲午夜激情av| 精品国产1区二区| 99久久婷婷国产综合精品电影| 综合激情网...| 欧美日韩成人一区二区| 韩国女主播一区二区三区| 国产精品麻豆视频| 欧美天天综合网| 国产在线视视频有精品| 国产精品高潮久久久久无| 欧美撒尿777hd撒尿| 国产一区二区在线免费观看| 亚洲天堂2014| 日韩精品在线网站| 91麻豆国产在线观看| 蜜臀久久99精品久久久久宅男| 中文成人av在线| 91精品在线观看入口| 成人蜜臀av电影| 美女免费视频一区二区| 国产精品久久久久久久久久免费看 | 亚洲国产精品一区二区久久恐怖片| 中文字幕在线观看不卡视频| 国产盗摄视频一区二区三区| 亚洲私人黄色宅男| 日韩精品最新网址| 欧美午夜精品电影| 成人综合婷婷国产精品久久| 午夜影视日本亚洲欧洲精品| 欧美国产成人在线| 欧美不卡视频一区| 欧美三级视频在线观看| 成人av在线一区二区三区| 麻豆精品一区二区综合av| 亚洲精品国产精品乱码不99| 久久久精品中文字幕麻豆发布| 欧美日韩免费一区二区三区| hitomi一区二区三区精品| 韩国一区二区三区| 蜜桃精品视频在线| 国产福利一区二区| 欧美吻胸吃奶大尺度电影| 麻豆中文一区二区| 视频一区二区不卡| 亚洲视频免费观看| 国产精品视频你懂的| 精品少妇一区二区| 91精品国产91综合久久蜜臀| 欧美天堂一区二区三区| 成人午夜免费电影| 丁香六月久久综合狠狠色| 国产毛片精品一区| 久久国产视频网| 麻豆91在线播放| 日本不卡不码高清免费观看 | 欧美体内she精视频| 色综合色狠狠天天综合色| 99久久久精品| aaa国产一区| 一本一道久久a久久精品综合蜜臀| 高清久久久久久| jvid福利写真一区二区三区| 不卡欧美aaaaa| 91小视频在线免费看| 亚洲精品一线二线三线无人区| 欧美一区二区三区免费| 国产成人在线免费观看| 一区二区三区日韩欧美| 久久久久久久久一| 欧美丰满少妇xxxxx高潮对白| 国产精品一区二区无线| 国产女同性恋一区二区| 国产日本欧洲亚洲| 国产精品久久久久久久第一福利| 国产精品狼人久久影院观看方式| 中文字幕中文字幕在线一区| 亚洲激情第一区| 亚洲成人资源在线| 蜜桃精品视频在线观看| 国产激情一区二区三区四区| av中文字幕不卡| 欧美在线免费播放| 精品欧美黑人一区二区三区| 久久夜色精品一区| 国产精品久久久久久久久快鸭| 亚洲自拍偷拍图区| 久久99国产精品久久| 免费欧美高清视频| 成人网在线播放| 欧美亚洲国产怡红院影院| 777亚洲妇女| 国产亚洲欧美激情| 亚洲欧美二区三区| 美日韩一级片在线观看| 成人性生交大片免费看中文| 欧洲精品在线观看| 久久尤物电影视频在线观看| 1024成人网| 麻豆成人久久精品二区三区小说| 福利电影一区二区三区| 欧美乱妇15p| 亚洲国产精品二十页| 婷婷丁香久久五月婷婷| 男女男精品视频| 亚洲精品一区二区三区福利| 国产精品盗摄一区二区三区| 亚洲日本青草视频在线怡红院| 日韩激情一二三区| www.日本不卡| 欧美一区二区久久| 亚洲欧美aⅴ...| 国产一区二区三区四区五区美女| 色婷婷综合激情| 久久久国际精品| 亚洲国产综合在线| 国产成人精品亚洲日本在线桃色| 欧洲生活片亚洲生活在线观看| 久久久精品中文字幕麻豆发布| 午夜视频一区在线观看| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 欧美年轻男男videosbes| 国产欧美一二三区| 蜜桃精品视频在线| 91精品婷婷国产综合久久性色 | 久久九九国产精品| 天堂在线亚洲视频| 91福利视频久久久久| 中文字幕免费一区| 久久99精品国产| 青青草一区二区三区| 久久久91精品国产一区二区精品| 国内精品国产三级国产a久久| 日韩美女视频在线| 久久婷婷一区二区三区| 国产精品欧美一区二区三区| 精品一区二区国语对白| 91精品国产91综合久久蜜臀| 视频一区国产视频| 欧美伦理影视网| 午夜国产不卡在线观看视频| 精品国产一区二区三区av性色| 水野朝阳av一区二区三区|