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

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

?? dspusbtem.c

?? 基于dsp2407a的探測系統程序(兼容usb和串口通訊)
?? C
字號:
#include	"lf2407regs.h"
#include 	<stdio.h>
#include	<ioports.h>
#include	"initialint.h"   
#include	"define.h"
//#include	"math.h"
#include	"sci.h"  
#include	"cap.h"
//#include	"D12HAL.h" 
#include	"d12_hard.h" 
#include	"usb_type.h"  
#include	"isr.h"  
#include	"USB_Protocol.h" 

//#define DISABLE() asm(" setc INTM")
//#define ENABLE()	asm(" clrc INTM")
const uchar UsbPort2NoData[64]={'N','N','N'};
static int scitime=0,scicurnum=0; 
static int int1time=0;
int reTxper,reT3cmp,reT4cmp; 
int reForepart,reCapdot,reAddition,reCurCapDot,reCurAddNum;
char reSamprate;
int  OffTimeBuf=0;
uint Idle=0;
uint SystemIdle=0;
int  SetSymbol=0;
int TimeDispIdle=0;
int CurDispIdle=0;
int TimeCapLimit=0;
int UsbOrSci=0;
/*****usb 數據接收寄存器變量******/
int UsbReDataNum=0;
uchar UsbPort1InBuf[16];
uchar UsbPort2InReady=0;



/*uint copy_arry[1000];*/ 

volatile uint temp=0;
/*void scisend(uchar data);  */
void inline initialkey();  
void interrupt usb_sever(); 
void usbserve();
void TemSystemseSever(void);
void OffTimeSever(void);
void CurSever(void);
/*void inline initialsci();*/ 
/*uint keyvalue(uint keycode);
uint keyscan(void); 
*/
/*  屏蔽中斷程序  */ 
void inline disable() 
{
	asm(" setc INTM");
/*    asm(" setc SXM");     *//*符號位擴展*/
	
}
void inline enable()
{
asm(" clrc INTM");

}  

/* 系統初始化子程序  */ 
void inline initial()
{   
	volatile uint i=0;
	asm(" setc	SXM");				/* 符號位擴展有效 */ 
	asm(" clrc	OVM");				/* 累加器中結果正常溢出   */ 
	asm(" clrc	CNF");				/* B0被配置為數據存儲空間    */ 
	*SCSR1=0x024d;          	 /* 
								0x024d for 40M
								0x064d for 20M 	
								0x0e4d  for 10M; 
								CLKIN=20M,
								CLKOUT=CLKIN/2=10M   */ 
	*WDCR=0x0E8;				/* 不使能看門狗,因為SCSR2中的WDOVERRIDE */ 
		     					/* 即WD保護位復位后的缺省值為1,故可以用 */ 
		     					/* 軟件禁止看門狗  */  
	*IMR=0x31;					/* 禁止所有中斷  */ 
	*IFR=0x0FFFF;				/* 清除全部中斷標志,"寫1清0"    */ 
	WSGR=0x0e92;				/*0x0924 for 4 wite time
								/*0x0492 for 2 wite time;		
								/* 禁止所有的等待狀態 */ 
/*	*SCICTL1=0X11;             /*使能接受中斷,sleep=0,禁止接受錯誤中斷,不使用sci喚醒*/
/*	*SCICTL2=0X02;             /*使能接收中斷*/ 
	*XINT1CR=0X8003;		   /*使能外部中斷1,下降沿觸發,低優先級(int6)*/
    *XINT2CR=0X8001;		   /*使能外部中斷2,下降沿觸發,高優先級(int1)*/

}
/* EVB模塊的PWM初始化程序           */ 
void  pwminitial()
{
	*MCRC=*MCRC|0X0C00;			/*IOPF3,2配置位基本功能*/ 
	*PEDATDIR=*PEDATDIR|0X7e00; /*配置PE口方向 1<->6配置為輸出*/
	*PEDATDIR=*PEDATDIR&0XFF81; /*配置PE口上拉 1<->6配置為下拉*/
	*PEDATDIR=*PEDATDIR|0X0078;
	*PFDATDIR=*PFDATDIR|0X0001;
	/* 對T3PWM/T4PWM編程操作,輸出對稱波形,供發射機使用的驅動波形*/
    *GPTCONB=*GPTCONB|0X0049;    /*T3強制為高,T4強制為低*/
	/*T4控制寄存器:不受仿真影響,連續增/減計數,128分頻,使能定時比較器*/
    *T3CON=*T3CON|0X8F02;   /*T3初始化定時器控制寄存器:*/
    *T4CON=*T4CON|0X8F83;   /*T4初始化定時器控制寄存器,忽略本身定時器和周期比較器*/
    *T3CNT=0X0000;         /*賦予初始值 */
    *T4CNT=0X0000;
    *T3PER=0X030E;      /*時鐘是20M,128分頻,連續增/減計數模式,周期數為*/
    *T4PER=0X030E;
    *T3CMP=0X00C3;
    *T4CMP=0X024A;
	*COMCONB=0X8200;			/* 使能比較操作  */ 
}

/* 主程序  */ 
main( )
{   
    uint k=0,temp;
    uchar ch;
	disable();						/* 總中斷禁止  */ 
	initial();  					/* 系統初始化  */ 
	initialsci();
	pwminitial();					/* PWM輸出初始化*/  
	/*initial the golab register*/
	led.value		=	LedReset; 
	WriteLed;
	start.value		=	StartReset;
	WriteStart;
	protect.value	=	ProtectReset;
	WriteProtect; 
	/*initial the golab register*/
	clrsuspend;
	clrd12reset;
	delay();
	delay();
	delay(); 
	setd12reset;  
	enable();  
	setshoot(Mode1,Fre25fre,Fre25t3cmp,Fre25t4cmp); 
	IrPowerOff; 
	StopShoot;
	*T3CON=*T3CON|0x0040;		/* 啟動定時器3 */ 
	state.states.offtimeend=0;
	settimecap();
	TimeCapLimit=0;
	ControlData.wLengthh=0;
	ControlData.wCounth=0;
	UsbPort1InBuf[0]='I';
	UsbPort1InBuf[15]='E';
	for(k=1;k<15;k++)
	{
	UsbPort1InBuf[k]=0;
	}
	reconnect_USB();
	while(1)
{ 
        TemSystemseSever();
		Idle++; 
        OffTimeSever();
		CurSever();
		if(Idle==0x8000)
		{ 
			CurDispIdle++;
		}
		if(Idle==0xffff)
		{
			TimeDispIdle++;
			SystemIdle++;
		}
        if(SystemIdle>=3)
        {
        SystemIdle=0; 
        if(UsbOrSci==1)
        {
        UsbPort1InBuf[1]=OffTimeBuf>>8;
        UsbPort1InBuf[2]=OffTimeBuf&0x00ff;
        for(k=0;k<7;k++)
        {
        UsbPort1InBuf[k*2+3]=dispcurbuf[k+2]>>8;
        UsbPort1InBuf[k*2+4]=dispcurbuf[k+2]&0x00ff;
        }  //for(k=0;k<7;k++)
        } //        if(UsbOrSci==1)
        } //        if(SystemIdle>=3)
		     
		if(((*PFDATDIR)&0x0001)!=0x0001)
			usb_sever(); 
			usbserve();
   }     
   }

/*鍵盤接口初始化程序*/ 
void inline initialkey()
{
	*MCRA=*MCRA&0X00FF;
    return;
}


void interrupt int1_sever()
{
    int1time++;
    *XINT1CR=*XINT1CR|0X8000;
	*IFR=0X0020;
	enable();
	return;
}  

void TemSystemseSever(void)
{
if(re_change==ref_chan)
  {
  
  temp=recdata[10];
  switch(temp)
  {
  case op_setall:
				  re_change=ref_ncha; 
				  ShootMode=recdata[0];
				  reTxper=recdata[1];
				  reTxper=(reTxper<<8)+recdata[2]; 
				  reT3cmp=recdata[3];
				  reT3cmp=(reT3cmp<<8)+recdata[4];
				  reT4cmp=recdata[5];
				  reT4cmp=(reT4cmp<<8)+recdata[6];
				  setshoot(recdata[0],reTxper,reT3cmp,reT4cmp); 
				  D12_WriteEndpoint(3,16,UsbPort1InBuf);//test d12 in interupt
				  D12_WriteEndpoint(5, 64,UsbPort2NoData);
				  setmatch(recdata[7]);
				  SetSymbol=1;
				  break;
  case op_poweron:re_change=ref_ncha;
  				  IrPowerOn;
       			  break;
  case op_poweroff:re_change=ref_ncha;
  				  IrPowerOff;
       			  break;
  case op_shoot:  re_change=ref_ncha; 
  				  StartShoot;
       			  break;
  case op_hold:	  re_change=ref_ncha;
  				  StopShoot;
  	   			  break;
  case op_reset:  re_change=ref_ncha;
				  break;				  
  case op_sysstate:
				  re_change=ref_ncha;
				  break;
  case op_capset:
  				  
				  re_change=ref_ncha; 
  				  reForepart=recdata[0];
				  reForepart=(reForepart<<8)+recdata[1]; 
				  reCapdot=recdata[2];
				  reCapdot=(reCapdot<<8)+recdata[3];
				  reAddition=recdata[4];
				  reAddition=(reAddition<<8)+recdata[5];
				  reSamprate=recdata[6];
  				  state.states.temcapend=0; 
  				  settemcap(reSamprate,reCapdot,reForepart);
				  readstate(); 
				  while(!state.states.temcapend)
					{
					readstate();  
					}
					ReadTemCapData(reCapdot,TemData);
					if(UsbOrSci==0)
					SendTemData(reCapdot,TemData);
					if(UsbOrSci==1) 
					{ 
					TxDataNum(reCapdot);
					UsbTemOrCur=UsbTem;
					UsbPort2InReady=1;
					} 
					WinkTemcLed;
					state.states.temcapend=0;
				  break;
  case op_capstart:
  				  re_change=ref_ncha;
  				  state.states.temcapend=0; 
  				  settemcap(reSamprate,reCapdot,reForepart);
				  readstate(); 
				  while(!state.states.temcapend)
					{
					readstate();  
					}
					ReadTemCapData(reCapdot,TemData);
					if(UsbOrSci==0)
					SendTemData(reCapdot,TemData);
					if(UsbOrSci==1)
					{
					TxDataNum(reCapdot);
					UsbTemOrCur=UsbTem;
					UsbPort2InReady=1;
					} 
					WinkTemcLed;
					state.states.temcapend=0;
                    break; 
  case op_curcap:
  					re_change=ref_ncha;   
  					reCurCapDot=recdata[0];
				  	reCurCapDot=(reCurCapDot<<8)+recdata[1]; 
				  	reCurAddNum=recdata[2];
				  	reCurAddNum=(reCurAddNum<<8)+recdata[3];
				  	state.states.curcapend=0;
  					setcurcap(reCurCapDot,CapCurMode); //CapEdgeMode  CapCurMode
  					readstate(); 
				  	while(!state.states.curcapend)
					{
					readstate();  
					}
  					readcurcapdata(reCurCapDot,curbuf);
  					if(UsbOrSci==0)
  					SendCurData(reCurCapDot,curbuf);
  					if(UsbOrSci==1)
  					{
  					TxDataNum(reCurCapDot);
  					UsbTemOrCur=UsbCur;
  					UsbPort2InReady=1; 
  					}
  					state.states.curcapend=0;
  					WinkCurcLed;
  					break;                  
  default:		  
  			   re_change=ref_ncha;	  
               ;             
		  
  }

   }  
}
void OffTimeSever(void)
{

		if(state.states.offtimeend==1)
		{
			OffTimeBuf=readcaptime();
			state.states.offtimeend=0;
			TimeCapLimit=0;
		 
		}
//		if(TimeDispIdle>5&&SetSymbol!=0)                              
        if(TimeDispIdle>2)
		{ 
			TimeDispIdle=0;
			TimeCapLimit++;
			settimecap();
			if(UsbOrSci==0)
			SendTimeDispData(2,OffTimeBuf); 
		}
		if(TimeCapLimit>2)
		{
			OffTimeBuf=0; 
			if(UsbOrSci==0)
			SendTimeDispData(2,OffTimeBuf);
			TimeCapLimit=0;
		}
		 
} 

void CurSever(void)
{
if(CurDispIdle>5&&SetSymbol!=0)
		{
			CurDispIdle=0;
			setcurdisp(30,CapCurMode); //CapEdgeMode  CapCurMode
			readstate(); 
			while(!state.states.curcapend)
			{
			readstate();  
			}
			readcurcapdata(30,dispcurbuf);
			if(UsbOrSci==0)
			SendCurDispData(30,dispcurbuf);
			state.states.curcapend=0;
			WinkCurcLed;
		}
}

void interrupt usb_sever()
{   
	DISABLE; 
  fn_usb_isr();
    *XINT2CR=*XINT2CR|0X8000;
	*IFR=*IFR;
//    int1time++;
 /*0x0001*/
	ENABLE;
}

void	interrupt sci_intsever()
{
    DISABLE;
	scitime++;
	scicurnum=*SCIRXBUF;  
    *IFR=0X0010;
    SciDispose(scicurnum);  
    ENABLE;
	return;						/* 中斷直接返回    */ 
}

/* 該中斷服務程序主要是為了防止干擾,不做任何其它操作*/ 
void	interrupt nothing()
{
    int k;
    k=1;   
    *IFR=*IFR;
	return;						/* 中斷直接返回    */ 
} 
void usbserve(void)
{       
		int i;
		if (bEPPflags.bits.bus_reset) {
			DISABLE;
			bEPPflags.bits.bus_reset = 0;
			ENABLE;
			setd12reset;
		} // if bus reset

		if (bEPPflags.bits.suspend) {
			DISABLE;
			bEPPflags.bits.suspend= 0;
			ENABLE;

		} // if suspend change

		if (bEPPflags.bits.setup_packet){
			DISABLE;
			bEPPflags.bits.setup_packet = 0;
			ENABLE;
			control_handler();
			setsuspend;
		} // if setup_packet
		if(bEPPflags.bits.setup_dma != 0) {
			DISABLE;
			bEPPflags.bits.setup_dma --;
			ENABLE;
			setup_dma();
			} // if setup_dma
		if(bEPPflags.bits.ep1_rxdone) {
			DISABLE;
			bEPPflags.bits.ep1_rxdone = 0;
			ENABLE; 
			for(i=0;i<3;i++) 
			{
				if(GenEpBuf[i]!=0xAA)
				return;
			}
			for(i=0;i<13;i++)
			recdata[i]=GenEpBuf[i+3];
			UsbOrSci=1;
			re_change=ref_chan;
			}	

/*********************************/	

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩精品一区二区三区在线| 在线观看一区二区视频| 性感美女极品91精品| 亚洲精品国产成人久久av盗摄| 国产精品青草久久| 中文成人av在线| 成人免费一区二区三区在线观看| 国产亚洲欧美日韩日本| 亚洲国产岛国毛片在线| 国产精品国产馆在线真实露脸| 国产亚洲精品超碰| 中文字幕日韩精品一区| 一区二区三区日韩欧美精品| 性久久久久久久久久久久| 日韩黄色一级片| 久久福利资源站| 国产激情视频一区二区三区欧美| 国产成人aaa| 91美女片黄在线观看| 欧日韩精品视频| 日韩午夜av一区| 国产欧美一区二区精品性色| 亚洲欧美综合色| 午夜精品一区二区三区电影天堂 | 欧美成人激情免费网| 欧美电视剧在线观看完整版| 国产亚洲欧洲一区高清在线观看| 国产精品欧美精品| 亚洲韩国精品一区| 久久成人久久爱| 99久久精品免费精品国产| 91精品1区2区| 精品国产免费一区二区三区四区 | 男女激情视频一区| 国产综合久久久久久久久久久久| 国产成人8x视频一区二区| 91久久精品一区二区| 日韩精品一区二区三区四区| 国产精品欧美精品| 麻豆一区二区在线| 色偷偷成人一区二区三区91| 日韩女优av电影| 亚洲一二三区在线观看| 国产传媒一区在线| 欧美午夜不卡在线观看免费| 久久免费视频色| 手机精品视频在线观看| 成人av在线网站| 欧美成人一区二区三区在线观看 | 色婷婷精品大在线视频| 日韩免费观看2025年上映的电影| 亚洲人xxxx| 韩国精品一区二区| 在线观看91精品国产麻豆| 亚洲欧洲一区二区在线播放| 麻豆国产精品777777在线| 一本久久综合亚洲鲁鲁五月天| 久久一区二区三区四区| 水蜜桃久久夜色精品一区的特点| aaa欧美日韩| 精品国精品国产| 日本在线不卡视频| 欧美三电影在线| 一区二区成人在线视频| 99麻豆久久久国产精品免费| 久久久久久久电影| 美腿丝袜亚洲一区| 日韩一级片在线播放| 天天影视网天天综合色在线播放| 欧洲一区在线观看| 一区二区三区自拍| 色av成人天堂桃色av| 亚洲视频图片小说| 色综合中文综合网| 精品三级av在线| 青青草视频一区| 91精品国产色综合久久不卡蜜臀| 一区二区高清在线| 96av麻豆蜜桃一区二区| 亚洲视频在线一区观看| 94-欧美-setu| 国产精品免费久久| caoporm超碰国产精品| 国产精品久久午夜| 9久草视频在线视频精品| 国产精品色婷婷| 不卡的av电影| 一区二区视频免费在线观看| 在线一区二区三区四区五区 | 欧美成人乱码一区二区三区| 日韩和的一区二区| 日韩精品中文字幕一区| 麻豆一区二区在线| 欧美国产一区在线| 91在线视频播放地址| 亚洲最快最全在线视频| 制服.丝袜.亚洲.另类.中文| 另类人妖一区二区av| 久久影院午夜论| 成人精品小蝌蚪| 亚洲国产精品久久久久婷婷884 | 日本一区二区久久| 91免费精品国自产拍在线不卡| 一区二区三区免费观看| 欧美高清视频在线高清观看mv色露露十八| 午夜精品一区二区三区免费视频| 精品久久国产97色综合| av一区二区三区| 秋霞电影一区二区| 欧美国产乱子伦| 91麻豆精品国产91久久久久久久久| 日本不卡视频一二三区| 国产精品久久久久久久久久免费看 | 欧美mv日韩mv国产网站| 91在线丨porny丨国产| 麻豆精品精品国产自在97香蕉| 国产精品日产欧美久久久久| 欧美日韩国产综合草草| 成人综合在线观看| 午夜伦欧美伦电影理论片| 国产精品久久二区二区| 日韩一区二区三区免费观看| 色综合久久综合中文综合网| 久久99精品久久久久久| 亚洲一区二区欧美日韩 | av中文字幕亚洲| 久久精品噜噜噜成人av农村| 尤物av一区二区| 久久免费精品国产久精品久久久久| 欧美在线观看一区| 国产成人免费在线观看| 麻豆精品久久精品色综合| 亚洲香肠在线观看| 亚洲图片你懂的| 欧美韩日一区二区三区| 久久综合久久99| 欧美一级理论性理论a| 欧美亚一区二区| 91香蕉视频在线| 成人午夜电影网站| 国产高清不卡一区| 精品在线观看免费| 蜜臀av亚洲一区中文字幕| 亚洲高清久久久| 1000部国产精品成人观看| 久久久久久久性| 久久久久久麻豆| 26uuu亚洲综合色| 精品粉嫩aⅴ一区二区三区四区| 欧美高清你懂得| 欧美日韩成人在线| 欧美怡红院视频| 欧美最新大片在线看| 在线观看日韩一区| 欧美天堂亚洲电影院在线播放| 91美女视频网站| 欧美伊人久久大香线蕉综合69| av男人天堂一区| 91麻豆国产福利在线观看| 91麻豆国产福利在线观看| 在线精品视频一区二区| 色香蕉成人二区免费| 欧美日韩一区二区不卡| 欧美一区日韩一区| 精品国产一区二区精华| 国产人久久人人人人爽| 中文字幕亚洲一区二区av在线| 亚洲色图.com| 亚洲h精品动漫在线观看| 日本不卡免费在线视频| 韩国中文字幕2020精品| 国产69精品久久777的优势| 91丨九色丨黑人外教| 欧美三片在线视频观看| 日韩欧美一区二区免费| 国产亚洲福利社区一区| 亚洲精品乱码久久久久久 | 亚洲高清视频中文字幕| 精品亚洲欧美一区| 不卡一区中文字幕| 欧美日韩国产免费| 亚洲精品一区二区三区99| 中文字幕一区二区三区在线播放| 一区二区在线免费| 久久成人免费网站| 91香蕉视频在线| 日韩美女天天操| ㊣最新国产の精品bt伙计久久| 亚洲成人三级小说| 狠狠色狠狠色合久久伊人| 成人97人人超碰人人99| 欧美一区二区三区四区在线观看 | 成人精品国产福利| 欧美日韩成人综合天天影院 | 亚洲精选视频免费看| 婷婷久久综合九色综合伊人色| 国产自产高清不卡| 欧美日韩在线播| 中文字幕中文乱码欧美一区二区| 肉丝袜脚交视频一区二区|