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

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

?? dspic.cpp

?? lpt to i2c converter source code
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// DSPIC.cpp
// CdsPIC is a class created for the 4MHz PIC16LF628-04/SO code 
//   that was written to provide an RS232 to 2-wire or Bit I/O Interface
// The RS232 Communications Routines used in this file are located 
//    in the DSIOLIB1.cpp/.h


//Jason Rauch
//March 25, 2002


//***************************************************************************
//---------------------------------------------------------------------------
// Copyright (C) 2002 Dallas Semiconductor Corporation, All Rights Reserved.
// 
// Permission is hereby granted, free of charge, to any person obtaining a 
// copy of this software and associated documentation files (the "Software"), 
// to deal in the Software without restriction, including without limitation 
// the rights to use, copy, modify, merge, publish, distribute, sublicense, 
// and/or sell copies of the Software, and to permit persons to whom the 
// Software is furnished to do so, subject to the following conditions:
// 
// The above copyright notice and this permission notice shall be included 
// in all copies or substantial portions of the Software.
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
// MERCHANTABILITY,  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
// IN NO EVENT SHALL DALLAS SEMICONDUCTOR BE LIABLE FOR ANY CLAIM, DAMAGES 
// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
// OTHER DEALINGS IN THE SOFTWARE.
// 
// Except as contained in this notice, the name of Dallas Semiconductor 
// shall not be used except as stated in the Dallas Semiconductor 
// Branding Policy. 

#include "stdafx.h"
#include "DSPIC.h"

#define MAX_PORTNUM 1

//externally defined global vars
extern CString m_strComPort;
extern HANDLE ComID[MAX_PORTNUM];
extern OVERLAPPED osRead[MAX_PORTNUM],osWrite[MAX_PORTNUM];

//externally defined global functions
extern bool  AcquireCOMPort(int,char *,char *);
extern void ReleaseCOMPort(int,char *);
extern void FlushCOM(int);
extern int  WriteCOM(int, int, UCHAR *);
extern int  ReadCOM(int, int, UCHAR *);

bool CdsPic::BoardPresent()
{//Call to Determine If Board Was Detected On Power-up
	
	return m_bBoardPresent;
}

CdsPic::CdsPic()
{	// class constructor, opens serial port detects board.
	//  looks for board on COM1, 2, 3, and 4

	// Open COM Port and Detect Board
	m_bComIsOpen = FALSE;
	m_bBoardPresent = FALSE;
	char ComStr[5] = "COM1";
	char ComStrActive[30] = "COM2";
		if(!m_bBoardPresent && DetectBoard(ComStr))
		{
			strcpy(ComStrActive, ComStr);
		}
		else
		{
			if(ComStr[3] == '4')
				ComStr[3] = '1';
			else ComStr[3] = ComStr[3] + 1;
		}
		if(!m_bBoardPresent && DetectBoard(ComStr))
		{
	     	strcpy(ComStrActive, ComStr);
		}
		else
		{
			if(ComStr[3] == '4')
				ComStr[3] = '1';
			else ComStr[3] = ComStr[3] + 1;
		}
		if(!m_bBoardPresent && DetectBoard(ComStr))
		{
	     	strcpy(ComStrActive, ComStr);
		}
		else
		{
			if(ComStr[3] == '4')
				ComStr[3] = '1';
			else ComStr[3] = ComStr[3] + 1;
		}
		if(!m_bBoardPresent && DetectBoard(ComStr))
		{
	        strcpy(ComStrActive, ComStr);
		}
		else
		{
			if(ComStr[3] == '4')
				ComStr[3] = '1';
			else ComStr[3] = ComStr[3] + 1;
		}

		if(!m_bBoardPresent)
		{
			m_bBoardPresent = FALSE;
			m_bComIsOpen = FALSE;
//			AfxMessageBox("The DS2W board could not be found.  Fix and restart application.");
		}
		else
		{
			m_bBoardPresent = TRUE;
			m_bComIsOpen = TRUE;
			strcat(ComStrActive, " Has Been Initialized");	
//			AfxMessageBox(ComStrActive);
		}
}

CdsPic::~CdsPic()
{  // class destructor, closes serial port, resets "present" variables.
	char returnstring[80];
	if(m_bComIsOpen)
	{
		ReleaseCOMPort(0, returnstring);
		//MessageBox(returnstring);

	}
	m_bComIsOpen = FALSE;
	m_bBoardPresent = FALSE;
}

bool CdsPic::DetectBoard(char *port)
{
	// Open COM Port Here
	char returnstring[80];
	int NoBytes;

	m_bComIsOpen = AcquireCOMPort(0, port, returnstring);
	if(!m_bComIsOpen)
	{
		m_bComIsOpen = FALSE;
		m_bBoardPresent = FALSE;
		return FALSE;
	}
	else
	{
		// Port is open
		// Now look for board
		m_bBoardPresent = FALSE;
		Sleep(50);  // was 500  
		FlushCOM(0);
		// Now detect board
		// Now toggle DTR
		if(!ResetBoard())
		{
			// Close port
			ReleaseCOMPort(0, returnstring);
			m_bComIsOpen = FALSE;
			m_bBoardPresent = FALSE;
			return FALSE;
		}

		// DTR toggled fine
		// Read banner
		NoBytes = ReadCOM(0,19,m_strBoardBanner);
		if(NoBytes == 0)
		{
			m_strBoardBanner[0] = 0;
			// Close port
			ReleaseCOMPort(0, returnstring);
			m_bComIsOpen = FALSE;
			m_bBoardPresent = FALSE;
			return FALSE;
		}
		else
		{
			m_strBoardBanner[NoBytes] = 0;
			m_bBoardPresent = TRUE;
			return TRUE;		
		}
	}
	return FALSE;
}

UCHAR * CdsPic::HardwareRevision()
{
	return &m_strBoardBanner[0];
}

bool CdsPic::Read1(bool &state)
{
	unsigned char buf[2];	// Local Rx/Tx com buffer 
	FlushCOM(0);			// Clear COM Port Hardware Buffers
	buf[0]=0xE1;			// Load buf with read1 Command
	buf[1]=0x00;			// Second byte dummy byte, required
	WriteCOM(0,2,buf);		// Send Data via Serial Port
	ReadCOM(0,1,buf);		// Read for PIC Command Ack (0xf0h)
	if(buf[0] == 0xFA)
		return false;						// return false
	else
	{
		if(buf[0])
			state = true;
		else
			state = false;
		return true;							// else return true
	}
}

bool CdsPic::Read2(bool &state)
{
	unsigned char buf[2];	// Local Rx/Tx com buffer 
	FlushCOM(0);			// Clear COM Port Hardware Buffers
	buf[0]=0xE2;			// Load buf with read2 Command
	buf[1]=0x00;			// Second byte dummy byte, required
	WriteCOM(0,2,buf);		// Send Data via Serial Port
	ReadCOM(0,1,buf);		// Read for PIC Command Ack (0xf0h)
	if(buf[0] == 0xFA)
		return false;						// return false
	else
	{
		if(buf[0])
			state = true;
		else
			state = false;
		return true;							// else return true
	}
}

bool CdsPic::Read3(bool &state)
{
	unsigned char buf[2];	// Local Rx/Tx com buffer 
	FlushCOM(0);			// Clear COM Port Hardware Buffers
	buf[0]=0xE3;			// Load buf with read3 Command
	buf[1]=0x00;			// Second byte dummy byte, required
	WriteCOM(0,2,buf);		// Send Data via Serial Port
	ReadCOM(0,1,buf);		// Read for PIC Command Ack (0xf0h)
	if(buf[0] == 0xFA)
		return false;						// return false
	else
	{
		if(buf[0])
			state = true;
		else
			state = false;
		return true;							// else return true
	}
}

bool CdsPic::Read4(bool &state)
{
	unsigned char buf[2];	// Local Rx/Tx com buffer 
	FlushCOM(0);			// Clear COM Port Hardware Buffers
	buf[0]=0xE4;			// Load buf with read4 Command
	buf[1]=0x00;			// Second byte dummy byte, required
	WriteCOM(0,2,buf);		// Send Data via Serial Port
	ReadCOM(0,1,buf);		// Read for PIC Command Ack (0xf0h)
	if(buf[0] == 0xFA)
		return false;						// return false
	else
	{
		if(buf[0])
			state = true;
		else
			state = false;
		return true;							// else return true
	}
}

bool CdsPic::Read5(bool &state)
{
	unsigned char buf[2];	// Local Rx/Tx com buffer 
	FlushCOM(0);			// Clear COM Port Hardware Buffers
	buf[0]=0xE5;			// Load buf with read5 Command
	buf[1]=0x00;			// Second byte dummy byte, required
	WriteCOM(0,2,buf);		// Send Data via Serial Port
	ReadCOM(0,1,buf);		// Read for PIC Command Ack (0xf0h)
	if(buf[0] == 0xFA)
		return false;						// return false
	else
	{
		if(buf[0])
			state = true;
		else
			state = false;
		return true;							// else return true
	}
}

bool CdsPic::Read6(bool &state)
{
	unsigned char buf[2];	// Local Rx/Tx com buffer 
	FlushCOM(0);			// Clear COM Port Hardware Buffers
	buf[0]=0xE6;			// Load buf with read6 Command
	buf[1]=0x00;			// Second byte dummy byte, required
	WriteCOM(0,2,buf);		// Send Data via Serial Port
	ReadCOM(0,1,buf);		// Read for PIC Command Ack (0xf0h)
	if(buf[0] == 0xFA)
		return false;						// return false
	else
	{
		if(buf[0])
			state = true;
		else
			state = false;
		return true;							// else return true
	}
}

bool CdsPic::Read7(bool &state)
{
	unsigned char buf[2];	// Local Rx/Tx com buffer 
	FlushCOM(0);			// Clear COM Port Hardware Buffers
	buf[0]=0xE7;			// Load buf with read7 Command
	buf[1]=0x00;			// Second byte dummy byte, required
	WriteCOM(0,2,buf);		// Send Data via Serial Port
	ReadCOM(0,1,buf);		// Read for PIC Command Ack (0xf0h)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本到一区二区三区| 久久综合久久久久88| 高清不卡一二三区| 男女性色大片免费观看一区二区 | 欧美tickling网站挠脚心| 色先锋aa成人| 99re视频精品| 国产1区2区3区精品美女| 紧缚奴在线一区二区三区| 午夜国产精品影院在线观看| 亚洲乱码国产乱码精品精的特点| 国产日韩欧美麻豆| 欧美成人精品高清在线播放| 欧美卡1卡2卡| 337p亚洲精品色噜噜噜| 欧美日韩一区二区三区高清| 色婷婷亚洲一区二区三区| 99久久综合色| 91麻豆国产香蕉久久精品| 波波电影院一区二区三区| www.欧美日韩| 欧美在线999| 国产精品成人网| 国产精品视频在线看| 中文字幕va一区二区三区| 欧美国产激情一区二区三区蜜月| 国产欧美一区二区精品久导航 | 国产亚洲欧美在线| 国产三级一区二区| 久久先锋影音av鲁色资源网| 久久你懂得1024| 国产欧美日韩三级| 亚洲欧美另类小说视频| 亚洲在线成人精品| 日本va欧美va精品发布| 国产一区二区伦理片| 99re这里都是精品| 欧美日韩高清在线播放| 久久亚洲欧美国产精品乐播| 国产精品久久久久影院色老大| 一区二区在线免费| 日本不卡123| 成人不卡免费av| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 成人午夜又粗又硬又大| 蜜臀av一区二区在线观看| 国产91综合网| 91精品婷婷国产综合久久性色| 久久久久久免费毛片精品| 一区二区三区中文在线| 美腿丝袜亚洲三区| 色婷婷av一区二区三区软件 | 在线视频观看一区| 欧美电影免费观看完整版| 亚洲天堂2016| 国产精品99久久久| 欧美三级欧美一级| 中文字幕不卡在线观看| 六月婷婷色综合| 在线视频你懂得一区| 国产精品另类一区| 国内精品久久久久影院色| 一本一道综合狠狠老| 久久精品男人的天堂| 蜜臂av日日欢夜夜爽一区| 欧美亚洲丝袜传媒另类| 亚洲国产成人午夜在线一区 | 国内精品久久久久影院色| 在线不卡一区二区| 亚洲一区二区三区在线| 成人黄页毛片网站| 欧美韩国日本综合| 国产麻豆精品theporn| 欧美一卡在线观看| 亚洲国产欧美在线人成| 91麻豆国产精品久久| 国产精品久久久一本精品 | 免费成人小视频| 69堂成人精品免费视频| 亚洲gay无套男同| 欧美色区777第一页| 亚洲国产日韩一级| 18欧美亚洲精品| 成人午夜电影久久影院| 久久久国产精华| 大尺度一区二区| 成人免费在线视频| 在线免费观看成人短视频| 亚洲老妇xxxxxx| 欧美日韩你懂得| 免费人成在线不卡| 日韩欧美国产一区在线观看| 精品系列免费在线观看| 久久久三级国产网站| 成人a免费在线看| 亚洲免费av在线| 91精品午夜视频| 国产高清不卡二三区| 日韩毛片在线免费观看| 欧美影院一区二区| 秋霞影院一区二区| 国产视频在线观看一区二区三区 | 欧美猛男gaygay网站| 欧美一区二区日韩一区二区| 2024国产精品| 国产大陆a不卡| 国产精品天美传媒沈樵| 成人黄色国产精品网站大全在线免费观看 | 中文字幕不卡在线| 欧美中文字幕一区| 日本欧美一区二区三区| 国产日韩三级在线| 91丨九色丨蝌蚪富婆spa| 性做久久久久久免费观看欧美| 亚洲精品一区二区三区四区高清| 国产成人欧美日韩在线电影| 大白屁股一区二区视频| 亚洲小说欧美激情另类| 精品国产乱码91久久久久久网站| 色综合久久88色综合天天| 久久99最新地址| 中文字幕在线不卡视频| 精品电影一区二区三区| 久久99精品国产| 久久看人人爽人人| 欧美在线啊v一区| 狠狠色丁香久久婷婷综合_中| 久久亚洲免费视频| 欧美猛男男办公室激情| 国内精品国产三级国产a久久| 亚洲最大色网站| 亚洲欧美综合在线精品| 777奇米四色成人影色区| 国产精品一区一区| 午夜激情综合网| 国产精品乱人伦| 欧美一区二区三区免费大片| 91在线视频免费观看| 国产最新精品免费| 久久av老司机精品网站导航| 亚洲曰韩产成在线| 国产亚洲一区二区三区在线观看 | 精品亚洲成a人在线观看| 亚洲成人资源网| ...xxx性欧美| 欧美激情一区在线| 日韩欧美亚洲国产精品字幕久久久| 91亚洲精品乱码久久久久久蜜桃| 成人午夜视频在线| 国产乱色国产精品免费视频| 石原莉奈一区二区三区在线观看| 一区二区三区国产豹纹内裤在线| 国产日韩欧美一区二区三区乱码| 制服丝袜亚洲色图| 色婷婷综合五月| 成人高清视频免费观看| 国产成人午夜精品影院观看视频 | 亚洲国产精品视频| 国产一区二区三区综合| 日韩影视精彩在线| 午夜伦欧美伦电影理论片| 亚洲另类中文字| 国产精品美女久久久久久久久久久 | 欧美三级蜜桃2在线观看| 337p亚洲精品色噜噜| 91精品国产全国免费观看| 欧美精品第一页| 久久青草欧美一区二区三区| 337p粉嫩大胆色噜噜噜噜亚洲| 精品奇米国产一区二区三区| 91精品国产欧美一区二区18| 国产亚洲欧美激情| 中文字幕中文乱码欧美一区二区| 亚洲欧洲日韩综合一区二区| 亚洲已满18点击进入久久| 亚洲成av人片一区二区梦乃| 午夜av区久久| 国产精品18久久久久久vr| 国产99久久久久久免费看农村| bt欧美亚洲午夜电影天堂| 99视频一区二区| 91精品国产综合久久久久久久久久| 日韩欧美国产wwwww| 精品国产乱码久久久久久蜜臀| 国产精品萝li| 三级在线观看一区二区| 免费久久99精品国产| 91麻豆免费视频| 精品久久久三级丝袜| 久久精品人人做人人综合| 亚洲成在人线在线播放| 精品一区二区三区欧美| 福利一区在线观看| 欧美一级欧美三级| 亚洲精品高清视频在线观看| 日韩和欧美一区二区三区| 不卡免费追剧大全电视剧网站| 欧美色爱综合网| 五月婷婷色综合| 色综合天天性综合|