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

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

?? recv.c

?? freescale crc模塊驅動 經調試
?? C
?? 第 1 頁 / 共 2 頁
字號:
	// CMSioRecvPackLenMin = 8
	if(cSioRecvBufEnd < CMSioRecvPackLenMin)
		return 0;
	// 強制類型轉換
	pack = (SioPackHead *)&SioRecvBuf;
	type = pack->type.types.type;
	len = 15;
	if(cSioRecvBufEnd < CMSioLeadLen+len)                  // 如果SioRecvBuf.buf中不夠18個字節
		return 0;                                          // 返回0!
	cp = SioRecvBuf.buf+CMSioLeadLen;                      // cp指向包的第1個有效字節(類型+序列)
	
	/* 收到"調試"包后的處理模塊 */
	if(type == CMSioTypeDebug)                             // 包類型為"調試"
	{
		RecvMOnTimeDebug();
		return -7;                                         // 返回-7!
	}
	
	/* CRC校驗模塊 */
	Rc = CRCChk((char *)cp,len-CMSioCRCLen);
	if(Rc != 1)
	{
		cgflgD4Flash = 0;
		cgflgD5Flash = 1;
		cgflgD6Flash = 0;
		return -8;                                         // 如果CRC校驗未通過,返回-8!
	}
	
	/* 地址校驗模塊 */
	Ra = MachineAddrChk(pack->addr,Rc);
	if(!Ra)                                                // Ra=0,機器地址校驗出現錯誤
	{
		cgflgD4Flash = 0;
		cgflgD5Flash = 0;
		cgflgD6Flash = 1;
		return -9;                                         // 返回-9!
	}

	cRecvBufType = type;                                   // 接收包的類型
	return 1;                                              // 一切正常,返回1!
}

/******************************************************************************
 * 函數原形: void UrgencyStop(void);                                          *
 * 功能: 緊急停車函數                                                         *
 * 說明: 1.禁止一切控制動作                                                   *
 *       2.切斷B5,SI1和-24V電源                                               *
 ******************************************************************************/
void UrgencyStop (void)
{
	RecvMsgFailShow();
}

/******************************************************************************
 * 函數原型: int RecvMOnTimeDataDispatch(void);                               *
 * 功能: 判斷接收包的類型并做相應的解包處理                                   *
 * 說明: 正常情況下返回值為包的類型                                           *
 ******************************************************************************/
int RecvMOnTimeDataDispatch (void)
{
	int type;
	static unsigned char cRightPackCounter;
	if(!cRecvBufType)                                      // 如果cRecvBufType未被賦值,說明收到的包
		                                                   // 未能通過CRC校驗或機器地址校驗
		return 0;                                          // 返回0!
	type = cRecvBufType;
	cRecvBufType = 0x00;                                   // 注意清0

	/* 系統恢復模塊 */
	if(cflgCommDatOvertime)
	{
		switch(type)
		{
		case CMSioTypeCtrlData:
		case CMSioTypeSetCurrent:
		case CMSioTypeSetOilFlow:
			cRightPackCounter ++;
			nflgCommDatRight = CommDatRightTime;
			if(cRightPackCounter >= ConsecutiveRightPack)
			{
				cRightPackCounter = 0;
				cflgCommDatOvertime = 0;
				cflgUrgencyStop &= ~UrgStopTransMsgFail;
				cgflgD4Flash = 1;
				cgflgD5Flash = 0;
				cgflgD6Flash = 0;
				cgflgD11Flash = 0;
				RecvMsgNormalShow();
			}
			return type;
		default:
			cRightPackCounter = 0;
			return -1;
		}
	}

	/* 正常處理模塊 */
	switch(type)
	{
	case CMSioTypeCtrlData:                                // 包類型為"普通級控制數據"
		nflgCommDatRight = CommDatRightTime;
		cgflgD4Flash = 1;
		cgflgD5Flash = 0;
		cgflgD6Flash = 0;
		cgflgD11Flash = 0;
		return type;                                       // 返回包的類型!
	case CMSioTypeSetCurrent:
	case CMSioTypeSetOilFlow:
		nflgCommDatRight = CommDatRightTime;
		cgflgD4Flash = 1;
		cgflgD5Flash = 0;
		cgflgD6Flash = 0;
		cgflgD11Flash = 0;
		return type;                                       // 返回包的類型!
	}
	return 0;                                              // 接收包的類型出現錯誤,返回0!
}

/******************************************************************************
 * 函數原型: void RecvMOnTimeDeleteLead(void);                                *
 * 功能: 刪除包頭                                                             *
 * 說明: 無                                                                   *
 ******************************************************************************/
void RecvMOnTimeDeleteLead (void)
{
	int n;
	n = cSioRecvBufEnd-CMSioLeadLen;                       // n > 0
	__memmovebuf(SioRecvBuf.buf,CMSioLeadLen,n);           // 除包頭外的所有數據向前移動3個字節
	cSioRecvBufEnd -= CMSioLeadLen;                        // 更新cSioRecvBufEnd的值
}

/******************************************************************************
 * 函數原型: void CheckRecvRight(void);                                       *
 * 功能: 保證2s內從發射機接收到正確的包                                       *
 * 說明: 在2s內收不到正確的包,禁止一切控制動作                                *
 ******************************************************************************/
void CheckRecvRight (void)
// called at 100Hz
{
	if(nflgCommDatRight)
	{
		nflgCommDatRight --;
		return;
	}
	// 如果在2s內未收到正確的包,做如下處理
	cflgUrgencyStop |= UrgStopTransMsgFail;
	cflgCommDatOvertime = 1;
	cgflgD4Flash = 0;
	cgflgD5Flash = 0;
	cgflgD6Flash = 0;
	cgflgD11Flash = 1;
}

/******************************************************************************
 * 函數原型: void RecvMOnTime(void);                                          *
 * 功能: 實時接收發射機的數據                                                 *
 * 說明: 注意函數執行的次序                                                   *
 ******************************************************************************/
void RecvMOnTime (void)
// called at 100Hz
// * 數據發送
// * 檢查數據包
// * 檢查通訊
{
	int lead, data, r;
	CheckRecvRight();
	RecvMOnTimeReadRxBuf();
	lead = RecvMOnTimeCheckLead();
	RecvMOnTimeNormalBuf(lead);
	if(lead == 0)                                          // 如果未能在SioRecvBuf.buf中找到包頭
		return;                                            // 返回
	data = RecvMOnTimeCheckData();
	if(data == 0)                                          // 如果SioRecvBuf.buf中數據不夠18個字節
		return;                                            // 返回
	r = RecvMOnTimeDataDispatch();
	RecvMOnTimeDeleteLead();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲高清一区| 国产一区二区三区在线观看免费| aaa欧美大片| 中文字幕欧美一区| 在线免费亚洲电影| 亚洲国产成人av网| 日韩欧美一区电影| 成人免费看的视频| 一区二区在线看| 欧美久久久久久蜜桃| 麻豆精品视频在线观看视频| 久久精品视频一区二区| 99久久综合99久久综合网站| 亚洲国产一区视频| 久久免费看少妇高潮| 99久久久国产精品| 日韩精品一二三区| 中文字幕久久午夜不卡| 欧美色网站导航| 国产黄色91视频| 一区二区三区中文字幕精品精品 | 国产在线麻豆精品观看| 亚洲国产成人在线| 欧美精品国产精品| 懂色av中文字幕一区二区三区| 亚洲色图20p| 精品少妇一区二区三区在线视频| 从欧美一区二区三区| 亚洲国产一区二区在线播放| 精品国产乱码久久久久久浪潮 | 91福利小视频| 精品一区二区精品| 亚洲福利视频一区二区| 国产欧美日韩另类视频免费观看| 欧美日韩高清一区二区| 99精品视频在线观看免费| 奇米影视一区二区三区| 亚洲久草在线视频| 久久综合成人精品亚洲另类欧美 | 风间由美一区二区三区在线观看 | 亚洲三级视频在线观看| 2023国产精品自拍| 欧美少妇性性性| 国产成人精品亚洲午夜麻豆| 日韩精品欧美精品| 亚洲综合在线电影| 国产精品福利一区二区| 精品久久久久久久人人人人传媒 | 风间由美一区二区三区在线观看 | 国产精品久久久久四虎| 精品久久99ma| 欧美日韩国产小视频| 99这里都是精品| 国产99久久久久久免费看农村| 亚洲成av人片在www色猫咪| 国产精品久久夜| 久久久久97国产精华液好用吗| 欧美一区二区在线观看| 欧美私人免费视频| 在线观看日韩高清av| 91香蕉视频mp4| 99热99精品| 东方aⅴ免费观看久久av| 国产一区二区中文字幕| 精品一区二区影视| 久久成人免费日本黄色| 精油按摩中文字幕久久| 日本中文在线一区| 蜜臀av亚洲一区中文字幕| 亚洲成人av一区二区三区| 亚洲成人福利片| 亚瑟在线精品视频| 日本在线不卡一区| 久久电影网电视剧免费观看| 久久精品国产一区二区| 国精品**一区二区三区在线蜜桃| 久久99精品国产麻豆婷婷| 久久99九九99精品| 国产一区二区三区电影在线观看| 国产乱色国产精品免费视频| 国产高清视频一区| 成人精品免费视频| 一本色道亚洲精品aⅴ| 色天使色偷偷av一区二区| 99久久精品免费看| 欧美综合亚洲图片综合区| 欧美三区免费完整视频在线观看| 91激情五月电影| 欧美日韩视频第一区| 日韩亚洲欧美高清| 精品区一区二区| 国产精品视频观看| 亚洲激情五月婷婷| 亚洲成人免费看| 精品一区二区在线看| 大美女一区二区三区| 在线观看亚洲精品视频| 3d成人h动漫网站入口| 精品福利一二区| 亚洲欧洲av在线| 天堂在线亚洲视频| 国产一区二区日韩精品| 99久精品国产| 91精品国产美女浴室洗澡无遮挡| 精品不卡在线视频| 中文字幕视频一区| 日本美女视频一区二区| 国产精品1区2区| 欧美亚洲国产一区二区三区va| 日韩一区二区三区视频在线观看| 国产欧美一区二区精品性| 亚洲激情av在线| 国内精品伊人久久久久av一坑| 成人av在线影院| 欧美一二三区精品| 亚洲区小说区图片区qvod| 日韩中文字幕1| av中文字幕亚洲| 欧美高清视频一二三区| 国产精品免费视频一区| 亚洲va天堂va国产va久| 风间由美中文字幕在线看视频国产欧美| 色欧美乱欧美15图片| 亚洲精品在线三区| 亚洲成人av中文| aaa国产一区| 久久久久综合网| 日本美女一区二区三区视频| 99久久综合狠狠综合久久| 精品伦理精品一区| 亚洲综合清纯丝袜自拍| 丰满亚洲少妇av| 日韩一卡二卡三卡四卡| 综合色天天鬼久久鬼色| 韩国欧美国产1区| 欧美日韩久久久| 中文字幕在线免费不卡| 极品少妇一区二区| 91精品久久久久久久久99蜜臂| 国产精品国产三级国产aⅴ无密码| 美女视频第一区二区三区免费观看网站 | 日韩欧美一级二级三级久久久 | 日韩1区2区日韩1区2区| 色哟哟精品一区| 欧美激情中文字幕| 久久精品国产色蜜蜜麻豆| 欧美日韩亚洲综合| 一区二区在线观看免费| av一本久道久久综合久久鬼色| 精品嫩草影院久久| 美国精品在线观看| 欧美精品久久天天躁| 亚洲丰满少妇videoshd| 91久久精品一区二区三| 国产精品国产三级国产普通话三级 | 91视频一区二区三区| 国产精品初高中害羞小美女文| 国产永久精品大片wwwapp| 精品99久久久久久| 久久精品免费观看| 日韩一区二区在线观看| 秋霞成人午夜伦在线观看| 欧美日韩一区二区三区视频 | 国产欧美一二三区| 国产91精品在线观看| 国产人成亚洲第一网站在线播放| 国产伦精品一区二区三区免费 | 国产1区2区3区精品美女| 国产欧美视频在线观看| 成人污污视频在线观看| 中文字幕不卡在线| 成人性生交大片免费看中文网站| 国产日韩欧美a| 成人永久免费视频| 亚洲欧美国产77777| 欧美综合亚洲图片综合区| 天天做天天摸天天爽国产一区| 欧美一级专区免费大片| 激情文学综合丁香| 亚洲国产精品传媒在线观看| caoporm超碰国产精品| 亚洲综合久久久| 日韩一区二区三区四区| 国产麻豆视频一区二区| 日韩理论片一区二区| 欧美日韩一级二级| 黄一区二区三区| 国产精品美女久久久久久2018| 色婷婷久久久亚洲一区二区三区| 午夜欧美电影在线观看| 精品免费国产一区二区三区四区| 顶级嫩模精品视频在线看| 亚洲乱码国产乱码精品精可以看 | 久久精品国产一区二区| 国产欧美日韩三区| 欧美亚洲另类激情小说| 激情图片小说一区| 亚洲欧美另类小说| 日韩一区二区三区高清免费看看| 国产成人超碰人人澡人人澡|