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

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

?? usbmainold.c

?? 記錄儀
?? C
?? 第 1 頁 / 共 5 頁
字號:
#include <reg52.h>
#include <absacc.h>
#include "usbmain.h"
#include "USB100.h"
#include "trans232.h"

extern unsigned char xdata KGL[4000][7];   //開關(guān)量數(shù)組
extern unsigned int xdata index_KGL;       //開關(guān)量數(shù)組行下標(biāo)
extern unsigned char xdata pljssj;           //疲勞駕駛時間
extern unsigned char xdata tcxxsj;           //停車休息時間
/*

extern unsigned char xdata KGL0[400][12];   //開關(guān)量0數(shù)組
extern unsigned int xdata index_KGL0;       //開關(guān)量0數(shù)組行下標(biāo)
extern unsigned char xdata KGL1[400][12];   //開關(guān)量1數(shù)組
extern unsigned int xdata index_KGL1;       //開關(guān)量1數(shù)組行下標(biāo)
extern unsigned char xdata KGL2[400][12];   //開關(guān)量2數(shù)組
extern unsigned int xdata index_KGL2;       //開關(guān)量2數(shù)組行下標(biāo)
extern unsigned char xdata KGL3[400][12];   //開關(guān)量3數(shù)組
extern unsigned int xdata index_KGL3;       //開關(guān)量3數(shù)組行下標(biāo)
extern unsigned char xdata KGL4[400][12];   //開關(guān)量4數(shù)組
extern unsigned int xdata index_KGL4;       //開關(guān)量4數(shù)組行下標(biāo)
extern unsigned char xdata KGL5[400][12];   //開關(guān)量5數(shù)組
extern unsigned int xdata index_KGL5;       //開關(guān)量5數(shù)組行下標(biāo)
*/


extern unsigned char xdata flag_wr_full,flag_wr_empty;
extern unsigned char xdata FLAG_INIT;
extern unsigned char xdata down_time[10][5];
extern unsigned char xdata drvr_drv_time[300][28];
extern unsigned char xdata num_10[10][18];
extern unsigned int xdata index_drv_time,trstimes_temp;   //上一數(shù)組的行下標(biāo)
extern unsigned char xdata index_dw_tm;
extern unsigned char xdata ini_info[5];
unsigned char xdata verify=0;
extern unsigned char xdata tzxs[3];
extern unsigned long int xdata CANSHU;
extern unsigned char xdata MAXSPEED;
extern unsigned long xdata temp_long;
extern unsigned char xdata vin[41];
extern unsigned char xdata ID_product[20];         //產(chǎn)品ID號
extern void Clr_WDog();
extern void Delay(unsigned int c);

extern unsigned char xdata cur_id[25];
extern unsigned char xdata id1[11][25];
extern unsigned char xdata index_id1; //上一數(shù)組的行下標(biāo)
extern bit FL_RUN;
extern bit FL_RECORDER;

extern unsigned char xdata sec_data[10][326];
extern unsigned char xdata sec_hang;


extern unsigned char xdata overtime_rec[21][28] ;
extern unsigned char xdata num_ovrec;

extern unsigned char xdata stop_3day[11] ;

extern unsigned char xdata day_three[3][3] ;
extern unsigned char xdata index_threeday;


sbit P11=P1^1;
sbit P10=P1^0;

extern unsigned char xdata lichen_360h[3] ;
extern unsigned char xdata lichen_2d[3] ;



extern unsigned char xdata MainEpBuf[128] ;                             //接收數(shù)據(jù)

extern unsigned char xdata MainEpBuf2[512] ;                            //發(fā)送數(shù)據(jù)
extern unsigned char xdata MainEpBuf3[8] ;                               //枚舉

extern unsigned char xdata MainEpBuf4[16] ;                              //EP1傳送





extern unsigned char xdata OLD_YEAR;
extern unsigned char xdata OLD_MONTH;
extern unsigned char xdata OLD_DAY;
extern unsigned char xdata OLD_HOUR;
extern unsigned char xdata OLD_MIN;
extern unsigned char xdata OLD_SEC;



#define TMIAO XBYTE[0X8000]
#define TFEN XBYTE[0X8002]
#define TSHI XBYTE[0X8004]
#define TRI XBYTE[0X8007]
#define TYUE XBYTE[0X8008]
#define TNIAN XBYTE[0X8009]
#define TCLKA XBYTE[0X800A]
#define TCLKB XBYTE[0X800B]


sbit WDI = P1^2 ;      //看門狗

extern unsigned char xdata * xdata ptr_minaero;
extern unsigned char xdata * xdata ptr_stp_min;
extern unsigned char xdata * xdata ptr_temp;
extern unsigned int  xdata addr_ptr_minaero;
extern unsigned int xdata times_num;

extern unsigned char xdata j_temp,k_temp,l_temp;
extern unsigned int  xdata temp1_all;
extern unsigned int  xdata tmpadd_start_rec;
extern unsigned char xdata temp_date[5];



extern void Clr_WDog();




//usb設(shè)備請求

unsigned char xdata trs_cnt_tot _at_ 0x6510;
unsigned char xdata trs_cnt _at_ 0x6511;
unsigned int  xdata trs_cnt_byte _at_ 0x6512;         //分次傳速度數(shù)據(jù)時,計算每次傳的字節(jié)數(shù)
unsigned int  xdata trs_fst_time _at_ 0x6514;
unsigned int  xdata trs_hang _at_ 0x6516;             //傳流水記錄時的行下標(biāo)
unsigned int  xdata trs_cnt_size _at_ 0x8017 ;              // usb大數(shù)據(jù)量傳輸計算楨數(shù)用;  占用8000資源
unsigned int  xdata len_tmp_rec _at_ 0x8019 ;                   //當(dāng)前楨紀錄長度;   在傳輸時復(fù)用記錄當(dāng)前數(shù)據(jù)個數(shù);
unsigned int  xdata len_tmp_data _at_ 0x801b ;                   //當(dāng)前楨數(shù)據(jù)長度
unsigned char xdata trs_jy _at_ 0x805d;                     //校樣位;

unsigned char   last_cnt=0;                       //枚舉延時用


extern unsigned char xdata flag_trans ;


CONTROL_XFER xdata  ControlData;

EPPFLAGS xdata bEPPflags;



     /*####################################################################################//
     #//////////////////////////////////////////////////////////////////////////////////////#
     #/////////////////////////                              ///////////////////////////////#
     #/////////////////////////             USB              ///////////////////////////////#
     #/////////////////////////                              ///////////////////////////////#
     #//////////////////////////////////////////////////////////////////////////////////////#
     //####################################################################################*/

/**********************************************/
/*****************          *******************/
/***************    描述符    *****************/
/******************         *******************/
/**********************************************/
//設(shè)備描述符
code USB_DEVICE_DESCRIPTOR DeviceDescr =
{
    sizeof(USB_DEVICE_DESCRIPTOR),
    USB_DEVICE_DESCRIPTOR_TYPE,
    SWAP(0x0110),
    USB_CLASS_CODE_TEST_CLASS_DEVICE,
    0,
    0,
    EP0_PACKET_SIZE,
    SWAP(0x0471),	//VID
    SWAP(0x0666),	//PID
    SWAP(0x0100),
    0, 			//Manufactory
    0,			//Product
    0,			//Serial Number
    1			//Number of possible configurations     《數(shù)據(jù)改動》
};

//配置描述符
code USB_CONFIGURATION_DESCRIPTOR ConfigDescr =
{
    sizeof(USB_CONFIGURATION_DESCRIPTOR),
    USB_CONFIGURATION_DESCRIPTOR_TYPE,
    SWAP(CONFIG_DESCRIPTOR_LENGTH),
    1,
    1,
    0,                                                    //《數(shù)據(jù)改動》!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    0x60,                                                 //《數(shù)據(jù)改動》!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    0xf0
};

//接口描述符;
code USB_INTERFACE_DESCRIPTOR InterfaceDescr =
{
    sizeof(USB_INTERFACE_DESCRIPTOR),
    USB_INTERFACE_DESCRIPTOR_TYPE,
    0,
    0,
    NUM_ENDPOINTS,
    USB_CLASS_CODE_TEST_CLASS_DEVICE,
    USB_SUBCLASS_CODE_TEST_CLASS_D12,
    USB_PROTOCOL_CODE_TEST_CLASS_D12,
    0
};

//端點描述符---端點1輸入;
code USB_ENDPOINT_DESCRIPTOR EP1_TXDescr =
{
	sizeof(USB_ENDPOINT_DESCRIPTOR),
	USB_ENDPOINT_DESCRIPTOR_TYPE,
	0x81,
	USB_ENDPOINT_TYPE_INTERRUPT,
	SWAP(16),                          //《數(shù)據(jù)改動》!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	10
};

//端點描述符---端點1輸出;
code USB_ENDPOINT_DESCRIPTOR EP1_RXDescr =
{
	sizeof(USB_ENDPOINT_DESCRIPTOR),
	USB_ENDPOINT_DESCRIPTOR_TYPE,
	0x1,
	USB_ENDPOINT_TYPE_INTERRUPT,
	SWAP(16),                         //《數(shù)據(jù)改動》!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	10
};

//端點描述符---端點2輸入;
code USB_ENDPOINT_DESCRIPTOR EP2_TXDescr =
{
	sizeof(USB_ENDPOINT_DESCRIPTOR),
	USB_ENDPOINT_DESCRIPTOR_TYPE,
	0x82,
	USB_ENDPOINT_TYPE_BULK,
	SWAP(EP2_PACKET_SIZE),
	10
};

//端點描述符---端點2輸出;
code USB_ENDPOINT_DESCRIPTOR EP2_RXDescr =
{
	sizeof(USB_ENDPOINT_DESCRIPTOR),
	USB_ENDPOINT_DESCRIPTOR_TYPE,
	0x2,
	USB_ENDPOINT_TYPE_BULK,
	SWAP(EP2_PACKET_SIZE),
	10
};

//USB標(biāo)準設(shè)備請求入口地址指針表
code void (*StandardDeviceRequest[])(void) =
{
	get_status,
	clear_feature,
	reserved,
	set_feature,
	reserved,
	set_address,
	get_descriptor,
	reserved,
	get_configuration,
	set_configuration,
	get_interface,
	set_interface,
	reserved,
	reserved,
	reserved,
	reserved
};

/**********************************************/
/*****************          *******************/
/***************   設(shè)備請求   *****************/
/******************         *******************/
/**********************************************/
/*標(biāo)準設(shè)備請求共11個命令,此處只用到其中9個,分別是:get_status,clear_feature,set_feature,set_address,
get_descriptor,get_configuration,set_configuration,get_interface,set_interface, */
/*
typedef union _epp_flags
{
	struct _flags
	{
		unsigned char timer               	: 1;
		unsigned char bus_reset           	: 1;
		unsigned char suspend             	: 1;
		unsigned char setup_packet  	  	: 1;
		unsigned char remote_wakeup		   	: 1;
		unsigned char in_isr		      	: 1;
		unsigned char control_state			: 1;

		unsigned char configuration			: 1;
		unsigned char verbose				: 2;
		unsigned char ep1_rxdone			: 1;
                unsigned char ep2_rxdone                        : 1;
                unsigned char ep2_txdone                        : 1;
		unsigned char dma_state      		: 2;
		unsigned char power_down			: 1; // Smart Board
	} bits;
	unsigned short value;
} EPPFLAGS;
typedef struct _device_request
{
	unsigned char bmRequestType ;
	unsigned char bRequest;
	unsigned short wValue;
	unsigned short wIndex;
	unsigned short wLength;
} DEVICE_REQUEST;

typedef struct _control_xfer
{
	DEVICE_REQUEST DeviceRequest;
	unsigned short wLength;
	unsigned short wCount;
	unsigned char * pData;
	unsigned char dataBuffer[MAX_CONTROLDATA_SIZE];
} CONTROL_XFER;
*/

//-------------------------------------------------------------------------------------------get_status()獲取狀態(tài)
void get_status(void)
{
	unsigned char endp, txdat[2];
        //ControlData.DeviceRequest.bmRequestType為請求類型,USB_RECIPIENT定義為:0x1F
	unsigned char bRecipient = ControlData.DeviceRequest.bmRequestType&USB_RECIPIENT;
        //從bRecipient的低5個位可得出接收方
	unsigned char c;
        Clr_WDog();       //清w-dog
                          //USB_RECIPIENT_DEVICE定義為0X00
	if (bRecipient == USB_RECIPIENT_DEVICE)
        {                                                                       //返回設(shè)備狀態(tài);
		if(bEPPflags.bits.remote_wakeup == 1)
			txdat[0] = 3;                                           //支持遠程喚醒和自供電;
		else
			txdat[0] = 1;                                           //不支持遠程喚醒,自供電;
		txdat[1]=0;
		single_transmit(txdat, 2);                                      //發(fā)送數(shù)據(jù);
	}
        else if (bRecipient == USB_RECIPIENT_INTERFACE)
        {                                                                       //返回接口狀態(tài);
		txdat[0]=0;
		txdat[1]=0;
		single_transmit(txdat, 2);                                      //發(fā)送數(shù)據(jù);
	}
        else if (bRecipient == USB_RECIPIENT_ENDPOINT)
        {                                                                       //返回端點狀態(tài);
		endp = (unsigned char)(ControlData.DeviceRequest.wIndex & MAX_ENDPOINTS);
		if (ControlData.DeviceRequest.wIndex & (unsigned char)USB_ENDPOINT_DIRECTION_MASK)
			c = D12_SelectEndpoint(endp*2 + 1);   ///* Control-out */     讀取輸入端點狀態(tài);

		else
			c = D12_SelectEndpoint(endp*2);	      ///* Control-out */     讀取輸出端點狀態(tài);
		if(c & D12_STALL)
			txdat[0] = 1;                         //端點禁止;
		else
			txdat[0] = 0;                         //端點有效;
		txdat[1] = 0;
		single_transmit(txdat, 2);                    //發(fā)送數(shù)據(jù);
	} else
		stall_ep0();                                  //非標(biāo)準請求,發(fā)STALL;
}

//-----------------------------------------------------------------------------------clear_feature()清除特性
void clear_feature(void)
{
	unsigned char endp;                                                                 //讀取請求類型中的接受方;
	unsigned char bRecipient = ControlData.DeviceRequest.bmRequestType & USB_RECIPIENT;
        Clr_WDog();       //清w-dog
	if (bRecipient == USB_RECIPIENT_DEVICE
		&& ControlData.DeviceRequest.wValue == USB_FEATURE_REMOTE_WAKEUP)
        {                                                                                   //清除遠程喚醒特性;
		DISABLE;
		bEPPflags.bits.remote_wakeup = 0;
		ENABLE;
		single_transmit(0, 0);                                                      //返回應(yīng)答;
	}
	else if (bRecipient == USB_RECIPIENT_ENDPOINT
		&& ControlData.DeviceRequest.wValue == USB_FEATURE_ENDPOINT_STALL)
        {                                                                                   //清除端點禁止特性,恢復(fù)其使用;
		endp = (unsigned char)(ControlData.DeviceRequest.wIndex & MAX_ENDPOINTS);
		if (ControlData.DeviceRequest.wIndex & (unsigned char)USB_ENDPOINT_DIRECTION_MASK)
			// clear TX stall for IN on EPn.   清除輸入端點STALL特性;
			D12_SetEndpointStatus(endp*2 + 1, 0);
		else
			// clear RX stall for OUT on EPn.  清除輸出端點STALL特性;
			D12_SetEndpointStatus(endp*2, 0);
		single_transmit(0, 0);                    //發(fā)送響應(yīng);
	}
        else
		stall_ep0();                              //沒有該請求,返回STALL;
}

//-----------------------------------------------------------------------------------------set_feature()設(shè)置特性
void set_feature(void)
{
	unsigned char endp;                                                                 //讀取請求類型中的接受方;
	unsigned char bRecipient = ControlData.DeviceRequest.bmRequestType & USB_RECIPIENT;
        Clr_WDog();       //清w-dog
	if (bRecipient == USB_RECIPIENT_DEVICE
		&& ControlData.DeviceRequest.wValue == USB_FEATURE_REMOTE_WAKEUP)
        {                                                                                   //設(shè)置遠程喚醒特性;
		DISABLE;
		bEPPflags.bits.remote_wakeup = 1;
		ENABLE;
		single_transmit(0, 0);                                                      //發(fā)送響應(yīng);
	}
	else if (bRecipient == USB_RECIPIENT_ENDPOINT
		&& ControlData.DeviceRequest.wValue == USB_FEATURE_ENDPOINT_STALL)
        {
		endp = (unsigned char)(ControlData.DeviceRequest.wIndex & MAX_ENDPOINTS);
		if (ControlData.DeviceRequest.wIndex & (unsigned char)USB_ENDPOINT_DIRECTION_MASK)
			// clear TX stall for IN on EPn.    設(shè)置輸入端禁止;
			D12_SetEndpointStatus(endp*2 + 1, 1);
		else
			// clear RX stall for OUT on EPn.   設(shè)置輸出端禁止;
			D12_SetEndpointStatus(endp*2, 1);
		single_transmit(0, 0);                                                      //發(fā)送響應(yīng);
	}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆免费视频| 亚洲国产精品精华液2区45| 欧美电视剧免费观看| 中文字幕在线一区二区三区| 美洲天堂一区二卡三卡四卡视频| 成人免费av网站| 精品日韩成人av| 亚洲一区二区av在线| av一区二区三区四区| 日韩欧美一区二区在线视频| 亚洲精品欧美二区三区中文字幕| 国产毛片精品视频| 日韩欧美黄色影院| 首页国产欧美久久| 欧美伊人久久大香线蕉综合69| 国产欧美日韩久久| 国产一区二区在线电影| 日韩欧美视频在线| 日韩电影一区二区三区| 在线观看不卡视频| 樱桃视频在线观看一区| 99久久精品免费观看| 国产精品蜜臀在线观看| 国产美女视频一区| 久久综合视频网| 久久国产麻豆精品| 日韩视频免费观看高清完整版| 亚洲尤物视频在线| 日本道免费精品一区二区三区| 亚洲欧洲无码一区二区三区| 成人avav影音| 国产精品第13页| www.爱久久.com| ㊣最新国产の精品bt伙计久久| 北条麻妃一区二区三区| 国产精品国产自产拍在线| av在线一区二区三区| 亚洲三级在线播放| 日本福利一区二区| 亚洲成人av电影| 91.com视频| 国内精品嫩模私拍在线| 久久色视频免费观看| 国产91精品在线观看| 亚洲视频图片小说| 精品视频在线免费| 久久激情综合网| 久久久久国产精品免费免费搜索| 国产九色精品成人porny| 国产精品成人免费精品自在线观看 | 中文字幕不卡在线观看| fc2成人免费人成在线观看播放| 中文字幕亚洲在| 欧美日韩国产在线播放网站| 蜜桃一区二区三区在线| 国产亚洲欧洲一区高清在线观看| 懂色av一区二区三区免费观看| 伊人色综合久久天天人手人婷| 欧美精品粉嫩高潮一区二区| 国产一区二区三区四区在线观看| 中文字幕欧美激情一区| 欧美性三三影院| 精品无人区卡一卡二卡三乱码免费卡| 欧美极品xxx| 欧美大度的电影原声| 国产99久久久久| 亚洲最新视频在线观看| 精品美女一区二区三区| jiyouzz国产精品久久| 午夜精品一区二区三区电影天堂 | 日本高清免费不卡视频| 久久成人久久鬼色| 亚洲色图第一区| 欧美精品一区二区高清在线观看| 99视频一区二区| 人人爽香蕉精品| 亚洲人成精品久久久久| 欧美成人bangbros| 色噜噜狠狠成人中文综合| 精品一区二区精品| 亚洲一区二区视频在线观看| 国产亚洲欧美激情| 欧美日本韩国一区| 色综合久久久久网| 国产一区二区成人久久免费影院| 亚洲精品视频在线看| 久久精品一区二区| 91精品国产手机| 91高清视频在线| 国产成人午夜99999| 日本特黄久久久高潮| 玉足女爽爽91| 中文字幕人成不卡一区| 久久久久久久免费视频了| 欧美精品久久天天躁| 日本精品裸体写真集在线观看| 成人三级在线视频| 国产99一区视频免费| 国产另类ts人妖一区二区| 日本中文在线一区| 五月激情综合色| 亚洲午夜免费视频| 亚洲久草在线视频| 自拍偷拍欧美激情| 一区二区中文字幕在线| 欧美国产欧美综合| 欧美激情一区在线观看| 国产亚洲一区字幕| 久久嫩草精品久久久精品| 欧美精品一区视频| 精品少妇一区二区三区在线视频| 欧美日韩国产一级| 欧美久久久久久久久中文字幕| 欧美在线不卡一区| 欧美三级电影一区| 欧美精品国产精品| 91精品国产福利| 精品国产髙清在线看国产毛片| 欧美一级理论性理论a| 欧美一区二区免费| 日韩视频国产视频| www成人在线观看| 国产亚洲1区2区3区| 国产精品乱码人人做人人爱| 国产精品第一页第二页第三页| 亚洲男同性恋视频| 婷婷久久综合九色国产成人| 日韩国产欧美在线播放| 九一九一国产精品| 春色校园综合激情亚洲| 9色porny自拍视频一区二区| 91偷拍与自偷拍精品| 欧美午夜宅男影院| 日韩欧美精品在线视频| 国产欧美精品在线观看| 国产精品九色蝌蚪自拍| 亚洲午夜免费福利视频| 蜜桃av一区二区| 成人激情动漫在线观看| 欧美午夜精品免费| 日韩精品一区二区三区中文精品| 久久日韩精品一区二区五区| 国产精品不卡一区| 三级精品在线观看| 国产伦理精品不卡| 91在线视频网址| 日韩一区二区三区视频在线| 国产日韩欧美精品电影三级在线| 亚洲人成人一区二区在线观看| 亚洲第一综合色| 国产超碰在线一区| 欧美嫩在线观看| 欧美国产乱子伦| 丝瓜av网站精品一区二区| 国产黄色精品视频| 精品视频123区在线观看| 久久久久久久久久久99999| 亚洲美女视频在线观看| 精品一区精品二区高清| 91高清在线观看| 国产欧美精品在线观看| 午夜电影网亚洲视频| 成人黄色电影在线| 欧美变态凌虐bdsm| 一区二区三区欧美视频| 国产剧情av麻豆香蕉精品| 欧美日韩亚洲综合一区二区三区| 国产欧美一区二区精品久导航| 五月激情综合婷婷| 色综合久久中文字幕综合网| 久久久久久一二三区| 日韩精品每日更新| 色综合久久综合中文综合网| 精品国产三级a在线观看| 五月婷婷久久综合| 色琪琪一区二区三区亚洲区| 国产欧美一区二区精品性色超碰| 青娱乐精品视频在线| 欧美亚一区二区| 亚洲裸体xxx| 成人免费毛片嘿嘿连载视频| xnxx国产精品| 美国三级日本三级久久99| 欧美美女一区二区三区| 亚洲码国产岛国毛片在线| 成人18精品视频| 国产精品天美传媒沈樵| 国产一区二区三区国产| 欧美成人综合网站| 久久不见久久见免费视频1| 56国语精品自产拍在线观看| 亚洲电影一级黄| 欧美日韩国产综合一区二区| 亚洲影院理伦片| 91国模大尺度私拍在线视频| 亚洲欧美国产77777| 91成人免费在线视频| 亚洲激情综合网| 欧美日韩亚洲综合在线 | 精品亚洲porn|