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

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

?? comm.c

?? 一款收款機C源代碼!因為是幾年前的代碼了
?? C
字號:
///////////////////////////////////////////////////////////////////////////////
// 									Comm.c
//
// Copyright (c) 2004, WeiHua Technology Co., Ltd.
// All rights reserved.
//
// Created by:		Chen hh		2004-09-20
//
// Desription: 
///////////////////////////////////////////////////////////////////////////////
#include "ecrsys.h"
#include "ftype.h"
#include "data.h"
#include "string.h"
#include "sysdata.h"

///////////////////////////////////////////////////////////////////////////////
//									修改步驟
//	1. 在項目中加入本文件 Comm.c 
//
//	2. main.c, sale.c, program.c, xzreport.c, timmer.c, ftype.h
//		查找 comm.c 中的相關函數,然后拷貝修改部分.
//
//	3. tool.c: 		GetKey() 	GetIn()
//		查找 KD_PCLINK 相關部分.
//
//	4. keydef.h 加入
// 	#define	KD_PCLINK		250
// 
// 5. serial.c
//		比較后替換. 更改為全雙工發送接收,以支持中斷中發送.
//
//	6. ecrsys.h 中相應修改以下宏定義: 
//			#define  RSBUFLEN    		0x3FF
//			#define  WRBUFLEN    		0x3FF
//
///////////////////////////////////////////////////////////////////////////////


// public function
void Comm_AutoChkLinkCmd(byte port, byte uartData);
void Comm_SetStatus(byte status);
void Comm_ChkTimeOut(void);
void Comm_LinkCmdReply(byte port, byte status);
void KB_InsKey(word keyValue);

static byte ecrStatus = STATUS_INIT;				// 機器(系統)當前狀態.
static byte linkCmdTimeOut = 0;						// PC聯機命令字符間隔時間計數器.
static byte	tmpStatus;									// 臨時變量.
// PC聯機命令字符數組(HOST -> ECR).
//static const byte linkCmd[] = {0x1b, 0x10, 0, 5, 0x1b+0x10+0+5};
//static const byte linkCmd[] = {0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x23, 0x00, 0x00};
static const byte linkCmd[] = {0x00, 0x00, 0x23, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe};
// PC聯機命令應答,返回當前狀態的命令字符數組(ECR -> HOST).
//static const byte linkCmdReply[] = {'O', 'K', 0, sizeof(linkCmdReply), 0, 'O'+'K'+0+6+0};
static const byte linkCmdReply[] = {0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x23, 0x01, STATUS_IDLE, STATUS_IDLE};
static byte linkCmdIdx = sizeof(linkCmd);							// PC聯機命令已匹配字節數.

///////////////////////////////////////////////////////////////////////////////
// Descript:	ECR空閑時,實時檢測PC命令.檢測到聯機命令時,發出虛擬按鍵以進入通訊模式.
//					帶超時檢測功能. (連續數據間隔時間不得超過500ms)
// In Param:	uartData --- 最新收到的串口數據.
// Out Param:	void
// Return:		void
///////////////////////////////////////////////////////////////////////////////
void Comm_AutoChkLinkCmd(byte port, byte uartData)
{
	// 通訊狀態下,不再檢測聯機命令.
	if ((ecrStatus != STATUS_COMM) && (linkCmd[linkCmdIdx-1] == uartData))
	{
//		linkCmdIdx++;
		linkCmdIdx--;
		if (linkCmdIdx == 0)			// 檢測到有效命令.
		{
			linkCmdIdx = sizeof(linkCmd);
			if(COMM_PORT == port)
				tmpStatus = ecrStatus;
			else
				tmpStatus = STATUS_NOT_PC_COMM;
			Comm_LinkCmdReply(port, tmpStatus);
			if (tmpStatus == STATUS_IDLE)
			{
				if (bellcnt != 0xFF)
				{
					bellcnt = 30;
				}
				g_LCDBLCnt = sysflag->LCD_BL_Time;				// set the LCD backlight time again.
				KB_InsKey(KD_PCLINK);					// 發出聯機按鍵.
			}
		}
		else
		{
			linkCmdTimeOut = RSTIMEOUT / 5;			// 每5ms減一次.
		}
	}
	else
	{
		linkCmdIdx = sizeof(linkCmd);									// 命令數據需連續送入.
	}
}

///////////////////////////////////////////////////////////////////////////////
// Descript:	每隔5ms檢查一次字符發送超時. 用于系統定時回調處理.
// In Param:	void
// Out Param:	void
// Return:		void
///////////////////////////////////////////////////////////////////////////////
void Comm_ChkTimeOut(void)
{
	if (linkCmdTimeOut)
	{
		linkCmdTimeOut--;
		if (linkCmdTimeOut == 0)
		{
			linkCmdIdx = sizeof(linkCmd);								// 包字符間隔時間過長.
		}
	}
}

///////////////////////////////////////////////////////////////////////////////
// Descript:	設置系統當前狀態.
// In Param:	status --- 銷售 / 報表 / 報表打印 / 編程 /...
// Out Param:	void
// Return:		void
///////////////////////////////////////////////////////////////////////////////
void Comm_SetStatus(byte status)
{
	ecrStatus = status;
}

///////////////////////////////////////////////////////////////////////////////
// Descript:	應答PC聯機命令,返回當前狀態.
// In Param:	status 
// Out Param:	void
// Return:		void
///////////////////////////////////////////////////////////////////////////////
void Comm_LinkCmdReply(byte port, byte status)
{
	byte replyCmd[sizeof(linkCmdReply)];
	
	memcpy(replyCmd, linkCmdReply, sizeof(linkCmdReply));
	replyCmd[8] = status;
	replyCmd[9] += status;
	Wr_Str_Uart(port, replyCmd, sizeof(linkCmdReply));
}

///////////////////////////////////////////////////////////////////////////////
// Descriptor:	Insert one key into Key Buffer.
// In Param:	keyValue
// Out Param:	void
// Return:		void
///////////////////////////////////////////////////////////////////////////////
void KB_InsKey(word keyValue)
{
	if (((Khead + 1) % KEY_BUFF_SIZE) != Ktail)   // Key buffer not full
	{
		KeyBuffer[Khead] = keyValue;
		Khead = (Khead + 1) % KEY_BUFF_SIZE;
	}
	if (bellcnt != 0xFF)										// Not the long bell
	{
		bellcnt = 30;
	}
	g_LCDBLCnt = sysflag->LCD_BL_Time;								// set the LCD backlight time.
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一品视频| 亚洲第一久久影院| 粉嫩高潮美女一区二区三区| 久久亚洲精品小早川怜子| 久草中文综合在线| 久久久蜜臀国产一区二区| 高清不卡在线观看av| 国产精品毛片久久久久久久| 99re视频这里只有精品| 亚洲一区二区三区不卡国产欧美| 在线综合+亚洲+欧美中文字幕| 蜜臂av日日欢夜夜爽一区| 久久久久久久电影| 色综合咪咪久久| 肉色丝袜一区二区| 久久久噜噜噜久久人人看| av资源网一区| 性欧美大战久久久久久久久| 五月婷婷综合网| 精品国产伦一区二区三区观看体验 | 蜜臀91精品一区二区三区| 久久伊人中文字幕| 99精品欧美一区二区蜜桃免费| 亚洲国产成人高清精品| 26uuu国产一区二区三区| 成人app网站| 日韩国产精品久久久久久亚洲| 国产日韩欧美不卡| 欧美另类变人与禽xxxxx| 国产高清亚洲一区| 亚洲小说春色综合另类电影| 精品国产污网站| 欧美性猛交xxxx黑人交 | 国产精品1区二区.| 亚洲午夜激情av| 精品国产乱码久久久久久夜甘婷婷 | 99riav一区二区三区| 天天亚洲美女在线视频| 国产精品免费网站在线观看| 欧美精品成人一区二区三区四区| 成人网男人的天堂| 六月丁香婷婷色狠狠久久| 亚洲激情自拍视频| 欧美国产日韩a欧美在线观看| 91精选在线观看| 99精品久久久久久| 国产精品一二三区在线| 亚洲va天堂va国产va久| 日韩一区在线看| 久久中文字幕电影| 日韩三级在线免费观看| 在线一区二区视频| 北岛玲一区二区三区四区| 国内精品在线播放| 日本中文字幕不卡| 亚洲sss视频在线视频| 国产精品国产a| 久久久精品tv| 精品久久久久久久久久久久久久久久久 | 亚洲天堂久久久久久久| 国产欧美日韩精品a在线观看| 91精品欧美一区二区三区综合在 | 国产精品免费久久久久| 欧美tickling网站挠脚心| 欧美日韩国产色站一区二区三区| 99久久综合国产精品| 国产一区二区在线看| 免费观看成人av| 日本欧美肥老太交大片| 日韩激情av在线| 天天免费综合色| 午夜精品久久久久久久久| 亚洲风情在线资源站| 亚洲成人精品一区| 亚洲图片有声小说| 亚洲国产精品一区二区www在线| 亚洲综合在线第一页| 亚洲午夜精品17c| 亚洲高清免费视频| 三级在线观看一区二区| 人人精品人人爱| 美洲天堂一区二卡三卡四卡视频| 人人狠狠综合久久亚洲| 久久精品国产99国产| 精久久久久久久久久久| 国产精品一区二区久久不卡| 国产精品一卡二卡| 成人午夜在线播放| 日本高清不卡视频| 欧美日韩精品高清| 日韩三级在线观看| 欧美精品一区二区在线播放| 久久精品一区四区| 日韩一区在线看| 亚洲高清免费观看| 久久国产精品99久久人人澡| 国产麻豆精品久久一二三| 成人黄色小视频| 日本二三区不卡| 欧美女孩性生活视频| 欧美成人在线直播| 中文字幕亚洲区| 日韩制服丝袜av| 黑人巨大精品欧美黑白配亚洲| 成人蜜臀av电影| 日本道免费精品一区二区三区| 欧美精品久久一区二区三区| 日韩欧美国产综合在线一区二区三区| 欧美变态tickle挠乳网站| 国产精品久久久久久久久快鸭| 亚洲福利视频一区| 国产精品资源网站| 在线一区二区视频| 2024国产精品| 一区二区三区蜜桃| 国产一区二区美女诱惑| 99国产麻豆精品| 欧美大度的电影原声| 中文字幕一区二区视频| 日日摸夜夜添夜夜添精品视频 | 欧美一区二区三区免费观看视频| 国产亚洲一区二区在线观看| 亚洲一二三级电影| 国产精品自拍网站| 欧美日韩国产另类不卡| 中文字幕欧美国产| 美女任你摸久久| 在线观看亚洲成人| 国产视频视频一区| 三级一区在线视频先锋 | 国产盗摄一区二区三区| 欧美视频中文字幕| 中文字幕一区二区三区色视频| 日韩在线a电影| 久久一二三国产| 亚洲va天堂va国产va久| www.亚洲在线| 久久免费视频一区| 天堂av在线一区| 91久久精品一区二区三区| 国产日韩v精品一区二区| 水野朝阳av一区二区三区| 91伊人久久大香线蕉| 国产拍揄自揄精品视频麻豆 | 国产成人精品免费看| 51精品久久久久久久蜜臀| 亚洲精品日韩综合观看成人91| 成人激情电影免费在线观看| 精品国产精品一区二区夜夜嗨 | 经典三级视频一区| 欧美妇女性影城| 亚洲高清在线精品| 色婷婷精品久久二区二区蜜臂av| 国产精品网友自拍| 国产精品888| 精品免费一区二区三区| 欧美a一区二区| 欧美日韩国产另类不卡| 亚洲成av人片在线| 精品视频色一区| 亚洲电影第三页| 欧美日韩精品免费观看视频| 亚洲已满18点击进入久久| 色94色欧美sute亚洲线路一ni| 国产精品久久久久久亚洲毛片| 国产91综合一区在线观看| 国产亚洲人成网站| 国产精品资源站在线| 久久久精品日韩欧美| 国产成人免费在线视频| 国产精品素人一区二区| 97久久精品人人澡人人爽| 亚洲另类春色国产| 欧洲精品一区二区| 亚洲成人综合网站| 91精品国产综合久久蜜臀| 日韩国产精品久久久久久亚洲| 日韩一区二区三区免费看 | 国产精品视频观看| 豆国产96在线|亚洲| 国产精品久久久久久久久快鸭| 成人福利视频网站| 亚洲免费观看在线视频| 欧美系列一区二区| 免费观看一级特黄欧美大片| 精品国产一区二区亚洲人成毛片| 国产一区二区三区av电影| 国产精品久久久久三级| 色哟哟在线观看一区二区三区| 亚洲高清免费视频| 精品国产一区二区精华| 成人综合婷婷国产精品久久 | 午夜激情一区二区| 26uuu色噜噜精品一区| 国产成人在线视频免费播放| 亚洲欧美另类在线| 日韩精品自拍偷拍| 成人一级片网址| 视频一区视频二区在线观看| 久久久久久97三级|