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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? osfunfile.c

?? UCOSII的移植試驗 3.5_Modbus RTU 主從通訊實驗
?? C
字號:
/****************************************Copyright (c)**************************************************
**                                  廣州致遠電子有限公司
**
**                                 http://www.21cm.com.cn
**
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			OSFUNfile.c
** Last modified Date:  2005-01-11
** Last Version:		1.0
** Descriptions:		
**
**------------------------------------------------------------------------------------------------------
** Created by:			ZhouLishan
** Created date:		2005-01-11
** Version:				1.0
** Descriptions:		
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#include "config.h"


//*********************************************************************************
// 函數(shù)名稱:OSReadCoils
// 輸入?yún)?shù):ID,從機地址
//			 StartAddress,線圈起始地址(0x0000~0xffff)
//			 Quantity,線圈數(shù)量(0x001~0x07d0)
//			 ReaValuePtr,保存線圈值的指針
// 輸出參數(shù):完成代碼:(見異常代碼表)
// 功能描述:讀取線圈值。0x01
//*********************************************************************************
 uint8 OSReadCoils(uint8 ID, 
 					 uint16 StartAddress,
 					 uint16 Quantity,
 					 uint8 *ReaValuePtr)		
{
	READ_PARAMET Parameter;
	Parameter.RStartAddr = StartAddress;
   	Parameter.RQuantity = Quantity;
    Parameter.DataPtr = (uint16 *)ReaValuePtr;
    return ModbusPoll(ID,0x01,&Parameter);
}

//*********************************************************************************
// 函數(shù)名稱:OSReadDisInputs
// 輸入?yún)?shù):ID,從機地址
//			 StartAddress,離散量輸入起始地址(0x0000~0xffff)
//			 Quantity,離散量輸入數(shù)量(0x001~0x07d0)
//			 ReaValuePtr,保存離散量輸入值的指針
// 輸出參數(shù):完成代碼:(見異常代碼表)
// 功能描述:讀取離散量輸入值。0x02
//*********************************************************************************
 uint8 OSReadDisInputs(uint8 ID, 
 					 uint16 StartAddress,
 					 uint16 Quantity,
 					 uint8 *ReaValuePtr)		
{
	READ_PARAMET Parameter;
	Parameter.RStartAddr = StartAddress;
   	Parameter.RQuantity = Quantity;
    Parameter.DataPtr = (uint16 *)ReaValuePtr;
    return ModbusPoll(ID,0x02,&Parameter);
}

//*********************************************************************************
// 函數(shù)名稱:OSReadHoldReg
// 輸入?yún)?shù):ID,從機地址
//			 StartAddress,寄存器起始地址(0x0000~0xffff)
//			 Quantity,寄存器數(shù)量(0x0001~0x007d)
//			 ReaValuePtr,保存讀出寄存器值的指針
// 輸出參數(shù):完成代碼:(見異常代碼表)
// 功能描述:讀取保持寄存器值。0x03
//*********************************************************************************
 uint8 OSReadHoldReg(uint8 ID, 
 					 uint16 StartAddress,
 					 uint16 Quantity,
 					 uint16 *ReaValuePtr)		// 讀保持寄存器
{
	READ_PARAMET Parameter;
	Parameter.RStartAddr = StartAddress;
   	Parameter.RQuantity = Quantity;
    Parameter.DataPtr =  ReaValuePtr;
    return ModbusPoll(ID,0x03,&Parameter);
}

//*********************************************************************************
// 函數(shù)名稱:OSReadInputReg
// 輸入?yún)?shù):ID,從機地址
//			 StartAddress,輸入寄存器起始地址(0x0000~0xffff)
//			 Quantity,輸入寄存器數(shù)量(0x0001~0x007d)
//			 ReaValuePtr,保存讀出輸入寄存器值的指針
// 輸出參數(shù):完成代碼:(見異常代碼表)
// 功能描述:讀取輸入寄存器值。0x04
//*********************************************************************************
 uint8 OSReadInputReg(uint8 ID, 
 					 uint16 StartAddress,
 					 uint16 Quantity,
 					 uint16 *ReaValuePtr)		
{
	READ_PARAMET Parameter;
	Parameter.RStartAddr = StartAddress;
   	Parameter.RQuantity = Quantity;
    Parameter.DataPtr =  ReaValuePtr;
    return ModbusPoll(ID,0x04,&Parameter);
}

//*********************************************************************************
// 函數(shù)名稱:OSWriteSingleCoil
// 輸入?yún)?shù):ID,從機地址
//			 OutAddress,寫入的地址(0x0000~0xffff)
//			 OutValue,寫入的值COIL_OFF(0x0000)、COIL_ON(0xff00)
// 輸出參數(shù):完成代碼:(見異常代碼表)
// 功能描述:寫單線圈操作。0x05
//*********************************************************************************
 uint8 OSWriteSingleCoil(uint8  ID,
 						 uint16 OutAddress,
 						 uint16 OutValue)
{
	WRITE_PARAMET Parameter;
	Parameter.WStartAddr = OutAddress;
	Parameter.DataPtr = &OutValue;
    return ModbusPoll(ID,0x05,&Parameter);
}

//*********************************************************************************
// 函數(shù)名稱:OSWriteSingleReg
// 輸入?yún)?shù):ID,從機地址
//			 OutAddress,寫入的地址(0x0000~0xffff)
//			 OutValue,寫入的值(0x0000~0xffff)
// 輸出參數(shù):完成代碼:(見異常代碼表)
// 功能描述:寫單寄存器操作。0x06
//*********************************************************************************
 uint8 OSWriteSingleReg(uint8  ID,
 						 uint16 OutAddress,
 						 uint16 OutValue)
{
	WRITE_PARAMET Parameter;
	Parameter.WStartAddr = OutAddress;
	Parameter.DataPtr = &OutValue;
    return ModbusPoll(ID,0x06,&Parameter);
}

//*********************************************************************************
// 函數(shù)名稱:OSWriteMultipleCoils
// 輸入?yún)?shù):ID,從機地址
//			 StartAddress,寫入的地址(0x0001~0xffff)
//			 Quantity,寫入的數(shù)量(0x0001~0x07b0)
//			 ValuePtr,寫入數(shù)據(jù)的指針
// 輸出參數(shù):完成代碼:(見異常代碼表)
// 功能描述:寫多線圈操作。0x0f
//*********************************************************************************
uint8  OSWriteMultipleCoils(uint8 ID, 
 					 	uint16 StartAddress,
 					 	uint16 Quantity,
 					 	uint8 *ValuePtr)	
{
	WRITE_PARAMET Parameter;
	Parameter.WStartAddr = StartAddress;
   	Parameter.WQuantity = Quantity;
    Parameter.DataPtr =  (uint16*)ValuePtr;
    return ModbusPoll(ID,0x0f,&Parameter);
}

//*********************************************************************************
// 函數(shù)名稱:WriteMultipleReg
// 輸入?yún)?shù):ID,從機地址
//			 StartAddress,寫入的地址(0x0001~0xffff)
//			 Quantity,寫入的數(shù)量(0x0001~0x0078)
//			 ValuePtr,寫入數(shù)據(jù)的指針
// 輸出參數(shù):完成代碼:(見異常代碼表)
// 功能描述:寫多寄存器操作。0x10
//*********************************************************************************
uint8  OSWriteMultipleReg(uint8 ID, 
 					 	uint16 StartAddress,
 					 	uint16 Quantity,
 					 	uint16 *ValuePtr)	
{
	WRITE_PARAMET Parameter;
	Parameter.WStartAddr = StartAddress;
   	Parameter.WQuantity = Quantity;
    Parameter.DataPtr =  ValuePtr;
    return ModbusPoll(ID,0x10,&Parameter);
}

//*********************************************************************************
// 函數(shù)名稱:MaskWriteReg
// 輸入?yún)?shù):ID,從機地址
//			 Addr,寫入的地址(0x0001~0xffff)
//			 And_Mask,屏蔽寫與數(shù)據(jù)
//			 Or_Mask,屏蔽寫或數(shù)據(jù)
// 輸出參數(shù):完成代碼:(見異常代碼表)
// 功能描述:屏蔽寫寄存器操作。如果Or_Mask值為零,那么結(jié)果是當前內(nèi)容和And_Mask的簡單邏輯AND(與);
//			 如果And_Mask值為零,結(jié)果等于Or_Mask值。0x16
//*********************************************************************************
uint8  OSMaskWriteReg(uint8 ID, 
 					uint16 Addr,
 					uint16 And_Mask,
 					uint16 Or_Mask)	
{
	MASK_WRITE_REG Parameter;
	Parameter.RefAddress = Addr;
   	Parameter.And_Mask = And_Mask;
    Parameter.OR_Mask =  Or_Mask;
    return ModbusPoll(ID,0x16,&Parameter);
}


//*********************************************************************************
// 函數(shù)名稱:ReadWriteMultipleReg2PDU
// 輸入?yún)?shù):ID,從機地址
//			 WStartAddr,寫入寄存器的地址(0x0001~0xffff)
//           WQuantity,寫入寄存器的數(shù)量(1~121)
//			 RStartAddr,讀出寄存器的地址(0x0001~0xffff)
//			 RQuantity,讀出寄存器的數(shù)量(1~125)
//			 DataPtr,寫入寄存器的指針和讀出數(shù)據(jù)存放指針
// 輸出參數(shù):完成代碼:(見異常代碼表)
// 功能描述:寫多寄存器操作。0x17
//*********************************************************************************
uint8  OSReadWriteMultipleReg(uint8 ID, 
 					 	uint16 WStartAddr,
 					 	uint16 WQuantity,
 					 	uint16 RStartAddr,
 					 	uint16 RQuantity,
 					 	uint16 *DataPtr)	
{
	WRITE_PARAMET Parameter;
	
	if(RQuantity>125)
		return MB_PARAMETER_ERR;
	if(WQuantity>121)
		return MB_PARAMETER_ERR;
 	Parameter.RStartAddr = RStartAddr;
 	Parameter.RQuantity = RQuantity;
 	Parameter.WStartAddr = WStartAddr;
 	Parameter.WQuantity = WQuantity;
  	Parameter.DataPtr = DataPtr;
    return ModbusPoll(ID,0x17,&Parameter);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色乱码一区二区三区88| 色婷婷综合久久久中文一区二区 | 色婷婷久久一区二区三区麻豆| 欧美怡红院视频| 久久午夜羞羞影院免费观看| 一区二区三区欧美久久| 国产精品一级黄| 欧美一区二区三区四区久久| 中文成人综合网| 九九热在线视频观看这里只有精品| 一本色道久久综合亚洲精品按摩| 久久久亚洲精品一区二区三区| 亚洲第一成人在线| 99riav一区二区三区| 久久精品一区二区三区不卡牛牛| 视频一区欧美精品| 在线观看网站黄不卡| 中文字幕一区三区| 国产综合色在线| 欧美一区二区三区的| 亚洲一区二区在线播放相泽| 91视频在线观看免费| 欧美国产一区在线| 国产成人综合亚洲网站| 久久这里都是精品| 久久99精品国产91久久来源| 制服丝袜亚洲播放| 视频一区二区三区中文字幕| 欧美精品三级日韩久久| 亚洲成人综合在线| 欧美剧在线免费观看网站| 一区二区三区色| 色婷婷av一区二区| 亚洲乱码日产精品bd| 欧美午夜在线一二页| 亚洲猫色日本管| 91小视频免费观看| 亚洲精品久久久蜜桃| 91影视在线播放| 亚洲精品成a人| 欧美亚洲动漫精品| 三级影片在线观看欧美日韩一区二区 | 欧美不卡一区二区三区四区| 日韩电影在线一区二区三区| 欧美一区二区久久| 蜜臀a∨国产成人精品| 欧美成人三级在线| 国产精品原创巨作av| 国产日产精品1区| 豆国产96在线|亚洲| 亚洲欧洲成人av每日更新| 日本高清免费不卡视频| 亚洲第一狼人社区| 欧美大度的电影原声| 国内精品久久久久影院薰衣草| 久久久久九九视频| 99国产精品久久久久久久久久| 亚洲免费av观看| 91麻豆精品国产91久久久久久 | 亚洲精品伦理在线| 欧美日韩亚洲综合一区二区三区| 天堂资源在线中文精品| 久久综合网色—综合色88| 不卡视频一二三| 亚洲国产中文字幕在线视频综合| 日韩丝袜情趣美女图片| 成人黄色小视频| 亚洲高清在线精品| 久久精品水蜜桃av综合天堂| 欧美中文字幕一区二区三区| 精品一区二区在线播放| 成人欧美一区二区三区白人| 宅男噜噜噜66一区二区66| 国产激情91久久精品导航| 亚洲电影欧美电影有声小说| 久久亚洲精品国产精品紫薇| 在线看不卡av| 国产精品综合在线视频| 亚洲成年人网站在线观看| 久久女同性恋中文字幕| 欧美三级蜜桃2在线观看| 国产a区久久久| 日韩福利视频网| 国产精品久久一级| 欧美一区二区在线视频| 日日夜夜免费精品| 国产精品伦一区二区三级视频| 色诱亚洲精品久久久久久| 久久 天天综合| 亚洲成a人v欧美综合天堂下载| 日本午夜一区二区| 欧美xxxxx裸体时装秀| 日韩欧美中文一区二区| 日韩欧美在线不卡| 日韩电影在线一区| 亚洲日本中文字幕区| 久久精品人人做人人爽人人| 91久久精品一区二区| 国产高清不卡一区| 天天综合日日夜夜精品| 亚洲人成网站色在线观看| 国产色综合久久| 精品电影一区二区三区| 日韩一区二区免费在线电影| 欧洲日韩一区二区三区| 色婷婷综合视频在线观看| www.亚洲精品| 国产精品系列在线观看| 国产美女在线精品| 国产资源在线一区| 久99久精品视频免费观看| 亚洲视频免费观看| 亚洲欧美一区二区久久| 国产三级欧美三级| 国产婷婷色一区二区三区 | 国产欧美一区二区精品性色超碰| 日韩视频一区在线观看| 91精品国产综合久久久久久久久久| 色综合久久综合网| 欧美日韩综合不卡| 色偷偷88欧美精品久久久| 国产精品亚洲а∨天堂免在线| 国产露脸91国语对白| 国产一区999| 成人黄色在线网站| 日本福利一区二区| 欧美精品tushy高清| 欧美电影精品一区二区| 国产亚洲欧美一级| 亚洲国产精品成人久久综合一区| 国产日韩欧美a| 国产亚洲成年网址在线观看| 欧美国产一区在线| 一区二区三区四区激情 | 欧美色涩在线第一页| 色综合视频在线观看| 欧美怡红院视频| 日韩视频国产视频| 精品美女在线播放| 久久精品一区二区三区av| 国产精品的网站| 亚洲午夜免费电影| 精品中文字幕一区二区小辣椒| 国产成人精品网址| 色狠狠色噜噜噜综合网| 日韩三区在线观看| 中文字幕 久热精品 视频在线| 一区二区三区日本| 精品无码三级在线观看视频| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 亚洲三级在线观看| 日韩电影在线一区二区| 一本大道久久a久久精二百 | 成人国产视频在线观看| 欧美丝袜丝交足nylons| 久久精品夜夜夜夜久久| 一区二区三区国产精品| 久草在线在线精品观看| 色综合色狠狠天天综合色| 精品久久国产字幕高潮| 亚洲九九爱视频| 韩国午夜理伦三级不卡影院| 不卡一卡二卡三乱码免费网站| 欧美肥妇free| 中文字幕一区二区三区av| 日本中文字幕不卡| 色综合视频在线观看| 久久亚洲一区二区三区四区| 亚洲影视在线观看| 成人性生交大片免费| 日韩欧美自拍偷拍| 夜夜精品视频一区二区| 国产91对白在线观看九色| 日韩一区二区影院| 亚洲人成网站在线| 成人污视频在线观看| 久久天堂av综合合色蜜桃网| 三级不卡在线观看| 91久久精品国产91性色tv | 亚洲亚洲人成综合网络| 国产aⅴ综合色| 精品久久久久久久人人人人传媒| 亚洲午夜激情网页| 一本色道亚洲精品aⅴ| 日本一区二区三区免费乱视频| 毛片av一区二区三区| 欧美精品九九99久久| 亚洲精品中文字幕乱码三区| 白白色亚洲国产精品| 久久综合给合久久狠狠狠97色69| 日本视频在线一区| 91精品国产综合久久婷婷香蕉| 亚洲影院在线观看| 91成人看片片| 一区二区成人在线视频| 91在线高清观看| 一区二区三区日韩欧美| 91激情五月电影| 亚洲精品成a人| 91成人免费在线视频|