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

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

?? osfunfile.c

?? 周立功Magic2410開(kāi)發(fā)板uCOS-II基礎(chǔ)實(shí)驗(yàn)的ModBus主從通信源代碼
?? C
字號(hào):
/****************************************Copyright (c)**************************************************
**                                  廣州致遠(yuǎn)電子有限公司
**
**                                 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,從機(jī)地址
//			 StartAddress,線圈起始地址(0x0000~0xffff)
//			 Quantity,線圈數(shù)量(0x001~0x07d0)
//			 ReaValuePtr,保存線圈值的指針
// 輸出參數(shù):完成代碼:(見(jiàn)異常代碼表)
// 功能描述:讀取線圈值。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,從機(jī)地址
//			 StartAddress,離散量輸入起始地址(0x0000~0xffff)
//			 Quantity,離散量輸入數(shù)量(0x001~0x07d0)
//			 ReaValuePtr,保存離散量輸入值的指針
// 輸出參數(shù):完成代碼:(見(jiàn)異常代碼表)
// 功能描述:讀取離散量輸入值。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,從機(jī)地址
//			 StartAddress,寄存器起始地址(0x0000~0xffff)
//			 Quantity,寄存器數(shù)量(0x0001~0x007d)
//			 ReaValuePtr,保存讀出寄存器值的指針
// 輸出參數(shù):完成代碼:(見(jiàn)異常代碼表)
// 功能描述:讀取保持寄存器值。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,從機(jī)地址
//			 StartAddress,輸入寄存器起始地址(0x0000~0xffff)
//			 Quantity,輸入寄存器數(shù)量(0x0001~0x007d)
//			 ReaValuePtr,保存讀出輸入寄存器值的指針
// 輸出參數(shù):完成代碼:(見(jiàn)異常代碼表)
// 功能描述:讀取輸入寄存器值。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,從機(jī)地址
//			 OutAddress,寫(xiě)入的地址(0x0000~0xffff)
//			 OutValue,寫(xiě)入的值COIL_OFF(0x0000)、COIL_ON(0xff00)
// 輸出參數(shù):完成代碼:(見(jiàn)異常代碼表)
// 功能描述:寫(xiě)單線圈操作。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,從機(jī)地址
//			 OutAddress,寫(xiě)入的地址(0x0000~0xffff)
//			 OutValue,寫(xiě)入的值(0x0000~0xffff)
// 輸出參數(shù):完成代碼:(見(jiàn)異常代碼表)
// 功能描述:寫(xiě)單寄存器操作。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,從機(jī)地址
//			 StartAddress,寫(xiě)入的地址(0x0001~0xffff)
//			 Quantity,寫(xiě)入的數(shù)量(0x0001~0x07b0)
//			 ValuePtr,寫(xiě)入數(shù)據(jù)的指針
// 輸出參數(shù):完成代碼:(見(jiàn)異常代碼表)
// 功能描述:寫(xiě)多線圈操作。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,從機(jī)地址
//			 StartAddress,寫(xiě)入的地址(0x0001~0xffff)
//			 Quantity,寫(xiě)入的數(shù)量(0x0001~0x0078)
//			 ValuePtr,寫(xiě)入數(shù)據(jù)的指針
// 輸出參數(shù):完成代碼:(見(jiàn)異常代碼表)
// 功能描述:寫(xiě)多寄存器操作。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,從機(jī)地址
//			 Addr,寫(xiě)入的地址(0x0001~0xffff)
//			 And_Mask,屏蔽寫(xiě)與數(shù)據(jù)
//			 Or_Mask,屏蔽寫(xiě)或數(shù)據(jù)
// 輸出參數(shù):完成代碼:(見(jiàn)異常代碼表)
// 功能描述:屏蔽寫(xiě)寄存器操作。如果Or_Mask值為零,那么結(jié)果是當(dāng)前內(nèi)容和And_Mask的簡(jiǎn)單邏輯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,從機(jī)地址
//			 WStartAddr,寫(xiě)入寄存器的地址(0x0001~0xffff)
//           WQuantity,寫(xiě)入寄存器的數(shù)量(1~121)
//			 RStartAddr,讀出寄存器的地址(0x0001~0xffff)
//			 RQuantity,讀出寄存器的數(shù)量(1~125)
//			 DataPtr,寫(xiě)入寄存器的指針和讀出數(shù)據(jù)存放指針
// 輸出參數(shù):完成代碼:(見(jiàn)異常代碼表)
// 功能描述:寫(xiě)多寄存器操作。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);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩午夜av电影| 亚洲成a人在线观看| 久久九九99视频| 欧美成人精品福利| 日韩精品最新网址| 日韩欧美国产精品一区| 日韩欧美国产一区二区在线播放 | 国产a精品视频| 国产成人午夜视频| 丁香婷婷综合网| 波多野结衣在线一区| 成人免费av网站| 99精品一区二区三区| 在线观看亚洲一区| 欧美三级蜜桃2在线观看| 在线成人免费视频| 欧美一二三区在线| 精品免费视频.| 国产三级一区二区三区| 国产精品久久久久久户外露出| 国产精品夫妻自拍| 亚洲一区二区四区蜜桃| 丝袜诱惑亚洲看片| 久草中文综合在线| 国产成人无遮挡在线视频| 北条麻妃一区二区三区| 在线视频中文字幕一区二区| 欧美精品久久一区| 久久久影视传媒| 国产精品国产三级国产普通话蜜臀 | 一区二区日韩电影| 婷婷一区二区三区| 久久国产免费看| www.久久精品| 欧美一级午夜免费电影| 久久久国产一区二区三区四区小说 | 亚洲国产精品综合小说图片区| 三级久久三级久久久| 国产精品66部| 91福利在线观看| 精品成人a区在线观看| 国产精品久久久久影院老司 | 久久精品国产99国产精品| 国产成人午夜高潮毛片| 欧美亚洲综合一区| 久久先锋影音av鲁色资源网| 亚洲日本韩国一区| 蓝色福利精品导航| 色欲综合视频天天天| 日韩精品在线网站| 亚洲精品免费在线观看| 狠狠色丁香久久婷婷综合_中| 99视频超级精品| 91精品国产91久久综合桃花| 国产精品久久久久一区二区三区 | 欧美午夜精品久久久| 精品区一区二区| 亚洲精品国产精品乱码不99| 精品一区二区三区视频| 欧美在线高清视频| 国产精品视频看| 裸体歌舞表演一区二区| 91高清视频在线| 国产日韩高清在线| 免费成人深夜小野草| 91麻豆国产福利在线观看| 久久久久久久精| 免费在线观看日韩欧美| 色狠狠av一区二区三区| 国产色综合一区| 日韩精品一二三| 在线看国产一区| 亚洲欧洲在线观看av| 国产麻豆成人精品| 91精品国产乱| 亚洲电影第三页| 色香蕉久久蜜桃| 国产精品理伦片| 国产精品一二三四区| 日韩欧美激情在线| 三级久久三级久久| 欧美日韩一区国产| 亚洲欧美偷拍另类a∨色屁股| 国产精品原创巨作av| 日韩美女视频一区二区在线观看| 亚洲成在人线免费| 欧美午夜电影在线播放| 亚洲人成网站在线| www.在线成人| 国产精品天天摸av网| 国产乱码精品一区二区三 | 天天综合网 天天综合色| 一本色道久久综合亚洲精品按摩| 国产欧美精品一区二区色综合朱莉 | 国产精品综合二区| 欧美成人国产一区二区| 蜜桃久久av一区| 制服丝袜亚洲网站| 日产国产高清一区二区三区| 欧美在线制服丝袜| 亚洲在线观看免费| 欧美伊人久久大香线蕉综合69| 国产精品久久久久久久裸模| 成人免费的视频| 中文字幕在线免费不卡| 成人黄色国产精品网站大全在线免费观看| 久久蜜桃av一区二区天堂| 国产一区二区三区免费看| 久久综合狠狠综合久久激情 | 亚洲精品一线二线三线| 精品一区二区综合| 久久天堂av综合合色蜜桃网 | 久久一区二区三区四区| 狠狠色2019综合网| 久久久久国产精品麻豆ai换脸| 国产精品66部| 中文字幕一区二区三区在线不卡| 成人av午夜影院| 亚洲激情成人在线| 欧美日韩在线亚洲一区蜜芽| 视频一区二区国产| 制服丝袜亚洲精品中文字幕| 久久99精品久久久久久 | 狠狠久久亚洲欧美| 国产亚洲精品超碰| 99久久伊人网影院| 亚洲一区二区视频在线观看| 日韩三级视频在线观看| 国产综合久久久久影院| 国产精品毛片久久久久久久| 色婷婷av一区二区三区大白胸| 午夜久久久久久久久久一区二区| 欧美一级欧美一级在线播放| 国产老肥熟一区二区三区| 亚洲视频一区在线| 欧美精品aⅴ在线视频| 国产在线精品一区二区夜色 | 国产视频一区不卡| 91麻豆国产香蕉久久精品| 丝瓜av网站精品一区二区 | 中文字幕一区二区三区蜜月| 欧美日韩免费视频| 国产在线播放一区二区三区| 亚洲欧洲日韩女同| 日韩一区国产二区欧美三区| 国产成人在线观看免费网站| 依依成人综合视频| 久久中文字幕电影| 91激情在线视频| 国产精品影音先锋| 亚洲线精品一区二区三区八戒| 精品国产污网站| 色八戒一区二区三区| 激情综合网最新| 一区二区三区国产精品| 久久伊人中文字幕| 欧美日韩国产综合久久 | 欧美久久久一区| 高清在线观看日韩| 视频一区在线播放| 国产精品的网站| 欧美大片在线观看| 欧美亚一区二区| 成人免费看片app下载| 日韩精品一级二级| 椎名由奈av一区二区三区| 欧美一区二区精品在线| 91啪在线观看| 国产激情视频一区二区三区欧美| 亚洲电影中文字幕在线观看| 国产精品欧美综合在线| 日韩一级二级三级| 欧美羞羞免费网站| 成人免费视频一区二区| 捆绑紧缚一区二区三区视频| 亚洲午夜在线电影| 国产精品久久久久一区二区三区共| 日韩欧美一区二区在线视频| 欧美在线视频日韩| 99re热视频精品| 国产精品乡下勾搭老头1| 男女男精品视频网| 午夜伦欧美伦电影理论片| 亚洲美女屁股眼交3| 久久久.com| 久久久精品tv| 精品少妇一区二区三区在线视频| 欧美日韩大陆一区二区| 一道本成人在线| av亚洲精华国产精华| 国产福利视频一区二区三区| 久久国产综合精品| 日本不卡一区二区三区| 五月激情综合色| 亚洲一本大道在线| 亚洲综合在线免费观看| 亚洲视频1区2区| 亚洲欧美怡红院| 亚洲人妖av一区二区| 国产精品视频一区二区三区不卡|