亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
精品制服美女丁香| 欧美在线免费播放| 在线亚洲一区二区| 精品精品国产高清a毛片牛牛| 国产精品久久久久久亚洲毛片 | 亚洲最大的成人av| 国产一区不卡在线| 制服丝袜激情欧洲亚洲| 亚洲人成在线观看一区二区| 国内精品在线播放| 欧美一级黄色大片| 一二三四社区欧美黄| 成人91在线观看| 精品国产乱子伦一区| 日韩电影免费一区| 91精品福利视频| 亚洲欧洲精品天堂一级| 国产91对白在线观看九色| 久久女同互慰一区二区三区| 亚洲精品网站在线观看| 国产黄色成人av| 久久综合五月天婷婷伊人| 日本亚洲一区二区| 欧美天天综合网| 亚洲综合久久久久| 欧美午夜免费电影| 亚洲欧美另类小说视频| 97成人超碰视| 亚洲视频一区二区在线观看| 色综合天天综合网国产成人综合天| 国产日产欧美一区二区三区| 国产福利精品一区| 国产欧美日韩激情| 成人av片在线观看| 亚洲欧洲日韩一区二区三区| 91天堂素人约啪| 亚洲成国产人片在线观看| 夜夜嗨av一区二区三区中文字幕| 丁香一区二区三区| 国产日韩欧美综合一区| 成人在线视频首页| 亚洲人成精品久久久久久| 国产一级精品在线| 色噜噜狠狠色综合中国| 日本aⅴ亚洲精品中文乱码| 亚洲视频每日更新| 国产日产精品一区| 日韩视频一区二区| 91黄色在线观看| 成人国产电影网| 韩国精品主播一区二区在线观看| 亚洲国产综合91精品麻豆| 国产精品美女久久福利网站| 欧美大肚乱孕交hd孕妇| 欧美日韩一级大片网址| 成人性色生活片免费看爆迷你毛片| 日本不卡123| 亚洲制服丝袜在线| 亚洲欧美日韩国产综合| 国产女人aaa级久久久级| 亚洲精品一区二区三区福利| 欧美二区在线观看| 欧美日韩国产综合久久| 一本到一区二区三区| 成+人+亚洲+综合天堂| 国产剧情av麻豆香蕉精品| 久久成人麻豆午夜电影| 日韩vs国产vs欧美| 日韩国产精品久久久久久亚洲| 亚洲精品国产成人久久av盗摄| 中文av一区特黄| 中文字幕一区三区| 国产精品久久久久久久久免费樱桃 | 91小视频免费观看| 成a人片亚洲日本久久| 成人激情av网| av中文字幕不卡| 97久久超碰国产精品| 99视频精品在线| 色婷婷久久99综合精品jk白丝 | 在线一区二区三区| 91黄色小视频| 欧美美女喷水视频| 欧美一级午夜免费电影| 欧美成人激情免费网| 久久久噜噜噜久久人人看 | 国产精品麻豆欧美日韩ww| 亚洲国产成人一区二区三区| 亚洲国产成人午夜在线一区| 亚洲视频网在线直播| 亚洲大尺度视频在线观看| 日韩成人免费电影| 国产真实精品久久二三区| 高清国产午夜精品久久久久久| 99久久伊人久久99| 在线视频你懂得一区| 欧美日韩精品一区视频| 欧美一区日韩一区| 久久一区二区视频| 亚洲欧美在线高清| 午夜a成v人精品| 经典三级视频一区| 成人午夜免费av| 欧美日韩在线精品一区二区三区激情| 在线观看91av| 国产日本亚洲高清| 一区二区三区产品免费精品久久75| 一区二区三区在线播放| 日本欧美一区二区在线观看| 国产一区二区三区综合| 色婷婷亚洲婷婷| 欧美不卡激情三级在线观看| 日本一区二区三区免费乱视频| 一区二区日韩电影| 国产一区亚洲一区| 91国产免费看| 久久久欧美精品sm网站| 一个色在线综合| 国产99精品视频| 欧美另类高清zo欧美| 国产日韩av一区二区| 亚洲福利一区二区| 国产91精品露脸国语对白| 欧美精选一区二区| 国产欧美日韩不卡免费| 香蕉av福利精品导航| 波波电影院一区二区三区| 777奇米成人网| 亚洲精品va在线观看| 国产精品一区一区三区| 欧美体内she精视频| 欧美国产日产图区| 日本成人在线一区| 在线免费观看成人短视频| 国产日韩欧美麻豆| 蜜臀av在线播放一区二区三区| 色综合久久久久久久| 国产亚洲人成网站| 美女视频黄免费的久久| 在线观看欧美日本| 亚洲国产精品ⅴa在线观看| 蜜桃视频免费观看一区| 欧美视频你懂的| 亚洲免费视频中文字幕| 风间由美性色一区二区三区| 欧美一区二区人人喊爽| 亚洲一区二区在线观看视频 | 韩日精品视频一区| 欧美日韩在线三级| 亚洲成人在线免费| 欧美在线观看视频一区二区 | 亚洲欧美怡红院| 成人三级伦理片| 国产调教视频一区| 国产伦精品一区二区三区视频青涩| 91精品国产综合久久精品| 亚洲一区二区av在线| 色婷婷激情久久| 一区二区三区四区激情| 91久久精品网| 亚洲男人的天堂网| 91在线视频播放地址| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产精品一二一区| 国产网站一区二区| 成人黄色国产精品网站大全在线免费观看| 久久久久久久电影| 丁香另类激情小说| 国产精品嫩草影院com| av日韩在线网站| 中文字幕制服丝袜一区二区三区| hitomi一区二区三区精品| 国产精品国产a级| 色老汉一区二区三区| 亚洲一卡二卡三卡四卡五卡| 欧美日免费三级在线| 日韩中文字幕一区二区三区| 欧美精品一二三| 久久er精品视频| 国产亚洲欧洲997久久综合| 成人网在线播放| 亚洲精品欧美二区三区中文字幕| 色老综合老女人久久久| 视频精品一区二区| 欧美成人精品3d动漫h| 国产成+人+日韩+欧美+亚洲| 国产精品久久影院| 色婷婷久久久综合中文字幕| 日韩国产在线观看| 久久精品亚洲乱码伦伦中文| 成a人片亚洲日本久久| 亚洲va欧美va人人爽午夜| 日韩精品一区二区三区在线播放 | 久久国产精品露脸对白| 国产日韩欧美综合一区| 在线观看日韩国产| 蜜桃视频一区二区| 亚洲特级片在线| 日韩美一区二区三区| av电影在线不卡|