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

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

?? port.cpp

?? AT45DB系列Flash端口lizi。
?? CPP
字號:
#define Bus 0xf208	//0x248,0xf228,0xf248,0xf268,0xf308,0xf328,0xf348,0xf368
short parPort=0,old=0;
short portType=0; //0:bus,1:par,2:rs232
short noSend;
short noRead;

#define bufsize 256
#define W0     2  //REVERSE DEFAULT=0
#define R0     4
#define R1     8  //slct in  REVERSE DEFAULT=0
#define DIR    0x20

unsigned buffer[bufsize];
short bfs=0,bfe=0;

#include <windows.h>
#include <stdio.h>
#include <stdio.h>
#include <conio.h>
#define inp  _inp
#define outp _outp
#include "at45.h"
short AT45_Set232Baud(long baud);

HANDLE sfile;
short Open232(short port,long baud)
{
   COMMTIMEOUTS  CommTimeOuts ;
   char s[80];
   if (port<1 || port >4) port=2;
   sprintf(s,"COM%d:",port);
   if ((sfile =CreateFile( s, GENERIC_READ | GENERIC_WRITE,0, NULL,OPEN_EXISTING,
	                          FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,NULL )) == (HANDLE) -1 )
		return (erPortError) ;
	else
	{
		SetCommMask( sfile, EV_RXCHAR ) ;
		SetupComm( sfile, 4096, 4096 ) ;
		CommTimeOuts.ReadIntervalTimeout = 0xFFFFFFFF ;
        CommTimeOuts.ReadTotalTimeoutMultiplier = 0 ;
		CommTimeOuts.ReadTotalTimeoutConstant = 0 ;
        CommTimeOuts.WriteTotalTimeoutMultiplier = 0 ;
        CommTimeOuts.WriteTotalTimeoutConstant = 5000 ;
		SetCommTimeouts( sfile, &CommTimeOuts ) ;
	}
	DCB dcb ;
	dcb.DCBlength = sizeof( DCB ) ;
	GetCommState( sfile, &dcb ) ;
	sprintf(s,"COM%d:baud=%ld parity=N data=8 stop=1",port,baud);
	BuildCommDCB(s,&dcb);
	SetCommState( sfile, &dcb ) ;
	return 0;
}

short Close232Port()
{
	SetCommMask( sfile, 0 ) ;
	EscapeCommFunction( sfile, CLRDTR ) ;
	PurgeComm( sfile, PURGE_TXABORT | PURGE_RXABORT| PURGE_TXCLEAR | PURGE_RXCLEAR ) ;
	CloseHandle( sfile ) ;
	return 0 ;
} // end of CloseConnection()

short ReadCommBlock(LPSTR lpszBlock, short nMaxLength )
{
	BOOL       fReadStat ;
	COMSTAT    ComStat ;
	DWORD      dwErrorFlags, dwLength ;
    OVERLAPPED  rd = {0};
	ClearCommError( sfile, &dwErrorFlags, &ComStat) ;
	rd.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); 
	if(rd.hEvent == NULL) return 0;
	dwLength = min( (DWORD) nMaxLength, ComStat.cbInQue ) ;
	if (dwLength > 0)
	{
		fReadStat = ReadFile( sfile, lpszBlock,dwLength, &dwLength, &rd ) ;
		if (!fReadStat)
		{
			if (GetLastError() == ERROR_IO_PENDING)
			{
  			    if (WaitForSingleObject( rd.hEvent, 1000 ))
					dwLength = 0 ;
				else
				{
					GetOverlappedResult( sfile,&rd,&dwLength, FALSE ) ;
					rd.Offset += dwLength ;
				}
			}
	 else
				dwLength = 0 ;
		}
	}
    CloseHandle(rd.hEvent); 
	return (short)( dwLength ) ;
} // end of ReadCommBlock()

BOOL WriteCommByte( BYTE bByte )
{
   BOOL        fWriteStat ;
   DWORD       dwBytesWritten ;
   OVERLAPPED  wrt = {0};
   wrt.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); if(wrt.hEvent==NULL) return FALSE;
   fWriteStat = WriteFile( sfile, (LPSTR) &bByte, 1, &dwBytesWritten, &wrt ) ;
   if (!fWriteStat && (GetLastError() == ERROR_IO_PENDING))
   {
      // wait for a second for this transmission to complete
      if (WaitForSingleObject( wrt.hEvent, 1000 ))
			dwBytesWritten = 0 ;
      else
	  {
	     GetOverlappedResult( sfile,&wrt,&dwBytesWritten, FALSE ) ;
		 wrt.Offset += dwBytesWritten ;
	  }
	}
    CloseHandle(wrt.hEvent); 
    return ( TRUE ) ;
} // end of WriteCommByte()

short get232Byte(){
  char c;
  short i=ReadCommBlock(&c, 1 );
  if (i==0) return -1;
  else return c&0xff;
}

short send232Byte(short dt){
  BOOL i=(BOOL) WriteCommByte((unsigned char)dt);
  if (i==TRUE) return 0; else return -1;
}

short testReader();

NOMANGLE short CCONV AT45_ClosePort(short port){
  if (portType==2) 
  {
	AT45_Set232Baud(9600l);
    Close232Port();
  }
  return 0;
}

short OpenPort(short port,long baud)
{
  short i;
  noSend=0;
  noRead=0;
  if (port>0 && port<5) {
    i=Open232(port,baud);
    portType=2;
  } else if (port<11 || port >14) {
    if (port==0) port=(short)Bus;
    parPort=port;
    portType=0;
    i=0;
  } else 
  {
    port=(port-11)*2;
    parPort=0x378;
    old=inp(parPort+2)&(0xff-W0-R0-R1-DIR);
    outp(parPort+2,old+R0+DIR);
    portType=1;
    i=0;
  }
  if (i<0) return i;
  if (testReader()==0) return 0;
  AT45_ClosePort();
  return -1;
}

NOMANGLE short CCONV AT45_OpenPort(short port)
{
  if(OpenPort(port,9600)!=0) return 1;
  if (port>0 && port<5)
  {
	AT45_Set232Baud(115200l);
	Close232Port();
	if(OpenPort(port,115200l)!=0) return 1;
  }
  return 0;
}

short Par_readByte(short &a){
  if (portType==0){
    a=inp(Bus+2);
    if ((a&0x20)==0) return -2;  //Q5
    if ((a&0x80)==0) return -1;  //Q6
    return inp(Bus);
  }
  outp(parPort+2,old+R0+DIR+R1);  //R1=0
  a=inp(parPort);
  outp(parPort+2,old+R0+DIR);       //R1=1
  if ((a&0x20)==0) return -2;  //Q5
  if ((a&0x80)==0) return -1;  //Q7
  outp(parPort+2,old+DIR);         //R0=0
  short b=inp(parPort);
  outp(parPort,old+R0+DIR);        //R0=1
  return b;
}

short ckByte(){
  short a;
  short bf=bfe+1;
  if (bf>=bufsize) bf=0;
  short ch;
  while ((ch=Par_readByte(a))==-2);
  if (bf!=bfs)
    if (ch!=-1) {
      buffer[bfe]=ch;
      bfe=bf;
    }
  return a;
}

short sendByte(short dt){
  if (portType==2){
    return send232Byte(dt);
  }
  short a=ckByte();
  if ((a&0x20)==0) return -1;  //Q5
  if ((a&0x40)==0) return -1;  //Q6
  if (portType==0)
  {
    outp(Bus,dt);
    return 0;
  }
  outp(parPort,dt);
  outp(parPort+2,old+R0+W0);
  outp(parPort+2,old+R0);
  outp(parPort+2,old+R0+DIR);
  return 0;
}

short getByte(){
  if (portType==0||portType==1) ckByte();
#ifdef _WINDOWS
  if (portType==2) return get232Byte();
#endif
  if (bfe==bfs) return -1; else {
    short ch=buffer[bfs++];
    if (bfs>=bufsize) bfs=0;
    return ch;
  }
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
777午夜精品视频在线播放| 亚洲永久精品大片| 久久99精品久久久久婷婷| 欧美精品久久99| 亚洲国产日韩精品| 欧美中文字幕一区| 裸体在线国模精品偷拍| 欧美大片一区二区| 成人黄色电影在线 | 成人性生交大片免费看视频在线 | 成人中文字幕电影| gogogo免费视频观看亚洲一| 欧美日韩成人综合天天影院| 成人黄色av电影| 欧美日韩高清一区二区不卡| 久久色中文字幕| 国产一区不卡视频| 亚洲激情在线播放| 26uuu国产电影一区二区| 国产成人在线网站| 国产原创一区二区| 亚洲国产wwwccc36天堂| 日韩欧美123| 日本久久一区二区| 韩日欧美一区二区三区| 亚洲欧美一区二区三区国产精品| 欧美久久免费观看| 高清成人免费视频| 蜜桃av一区二区在线观看| 亚洲图片欧美视频| 国产丝袜美腿一区二区三区| 欧美精品久久天天躁| 欧美综合一区二区| 成人精品免费网站| 久久99久久99小草精品免视看| 亚洲一区二区视频在线| 伊人开心综合网| 亚洲男人的天堂在线aⅴ视频| 亚洲欧洲日产国码二区| 久久嫩草精品久久久精品一| 欧美一级爆毛片| 国产女人水真多18毛片18精品视频| 色妹子一区二区| 久88久久88久久久| 国产香蕉久久精品综合网| 久久久精品免费观看| 日韩美女视频一区二区| 国产精品福利电影一区二区三区四区| 国产欧美一区视频| 国产精品少妇自拍| 亚洲欧洲日韩一区二区三区| 日本一区二区电影| 国产精品美女久久久久av爽李琼| 久久免费午夜影院| 亚洲精品高清在线| 国产精品一级片| 奇米影视一区二区三区小说| 久久精工是国产品牌吗| 国产高清不卡二三区| av资源网一区| 欧美一区二区三区日韩视频| 日韩欧美一级二级三级久久久| 欧美一区二区三区免费| 日韩视频免费直播| 久久精品免费在线观看| 一区二区三区四区精品在线视频 | 欧美日韩免费高清一区色橹橹 | 加勒比av一区二区| 国产精品一区二区x88av| 在线观看日产精品| 国产亚洲精品超碰| 日韩在线a电影| 91日韩精品一区| 欧美一区二区视频观看视频| 最新中文字幕一区二区三区| 免费观看成人av| 午夜a成v人精品| 日韩精品一级中文字幕精品视频免费观看 | 亚洲h在线观看| 99riav一区二区三区| 日韩欧美国产麻豆| 亚洲一区影音先锋| 一本色道久久综合狠狠躁的推荐 | 久久久久高清精品| 蜜桃av一区二区在线观看| 欧美日韩视频一区二区| 亚洲人成小说网站色在线| 国产在线精品一区二区三区不卡| 欧美卡1卡2卡| 奇米在线7777在线精品 | 欧美挠脚心视频网站| 亚洲国产cao| 精品视频在线免费看| 一区二区在线免费| 欧美日韩中文字幕一区| 亚洲午夜久久久久久久久电影院| jizz一区二区| 午夜免费久久看| 在线观看91av| 美脚の诱脚舐め脚责91| 久久综合狠狠综合久久激情| 国产一区二区久久| 国产精品三级av| 97se狠狠狠综合亚洲狠狠| 一区二区三区加勒比av| 欧美日韩国产天堂| 精品一区二区国语对白| 欧美高清在线一区二区| 日本精品一区二区三区高清| 亚洲不卡在线观看| ww久久中文字幕| 色综合中文字幕国产| 亚洲电影一区二区| 久久久久久久一区| 精品视频1区2区3区| 国产精品自拍三区| 丝袜亚洲另类丝袜在线| 久久精品视频免费观看| 91浏览器入口在线观看| 天天影视色香欲综合网老头| 国产日产亚洲精品系列| 欧美日韩精品系列| 午夜精品在线视频一区| 久久综合九色综合久久久精品综合| 欧洲一区在线电影| 蜜桃免费网站一区二区三区| 国产精品久久久久影视| 91精品国产品国语在线不卡| 丁香六月综合激情| 国产一区二区三区国产| 亚洲第一在线综合网站| 亚洲国产成人在线| 日韩欧美中文字幕精品| 欧美日韩成人在线| 精品视频一区三区九区| 色偷偷久久一区二区三区| 国产电影一区在线| 国产一区二区三区高清播放| 奇米影视一区二区三区小说| 日日摸夜夜添夜夜添精品视频 | 亚洲激情在线激情| 国产精品亲子伦对白| 久久精品视频在线免费观看| 91精品国产乱码| 91精品国产综合久久香蕉麻豆| 欧日韩精品视频| 欧美三级视频在线| 欧美日韩aaaaaa| 91精品国产一区二区| 欧美一级xxx| 2021国产精品久久精品| 久久久另类综合| 亚洲欧洲成人自拍| 亚洲欧美一区二区三区孕妇| 亚洲国产毛片aaaaa无费看| 精品一区二区三区久久久| 成人免费视频国产在线观看| 在线观看一区二区视频| 777精品伊人久久久久大香线蕉| 日韩午夜激情电影| 久久精品欧美日韩| 亚洲伦在线观看| 香蕉加勒比综合久久| 精品中文字幕一区二区| 成人综合在线观看| 波多野洁衣一区| 欧美最新大片在线看| 777午夜精品免费视频| 久久综合九色综合97婷婷女人| 亚洲人成精品久久久久| 五月婷婷激情综合网| 国产综合色精品一区二区三区| 99精品在线观看视频| 日韩三级视频中文字幕| 国产欧美精品一区| 婷婷久久综合九色综合绿巨人| 国产一区欧美日韩| 欧美日韩在线播放| 亚洲欧美自拍偷拍| 国产精品一区二区果冻传媒| 欧美日韩精品一区二区| 国产精品乱码久久久久久| 国产伦精品一区二区三区免费 | 日韩精品一级中文字幕精品视频免费观看 | 欧美欧美欧美欧美首页| 国产精品久久综合| 国v精品久久久网| 久久久99精品免费观看| 蜜臀av性久久久久蜜臀aⅴ流畅 | 在线观看精品一区| 中文字幕av一区二区三区| 国产九色sp调教91| 久久影院电视剧免费观看| 婷婷六月综合网| 91精品国产一区二区| 五月天久久比比资源色| 欧美一区二区在线观看| 天天操天天综合网| 91超碰这里只有精品国产| 日韩av电影免费观看高清完整版|