Ejemplo n.º 1
0
void Modbus_RegMap(void)
{
   //输入开关量寄存器指针
   Modbus_InputIO[0]=(vu32*)&PEin(4);//KEY0     //&PEin(4):取PE4地址,(vu32*)&PEin(4)将PE4地址强制转换成uw32类型的地址,Modbus_InputIO[0]=(vu32*)&PEin(4); 将转换好的地址送给地址指针Modbus_InputIO[0];
   Modbus_InputIO[1]=(vu32*)&PEin(3);//KEY1     //*Modbus_InputIO[0] 取出地址中的内容
   Modbus_InputIO[2]=(vu32*)&PEin(2);//KEY2
   Modbus_InputIO[3]=(vu32*)&PAin(0);//KEY3

   //输出开关量寄存器指针
   Modbus_OutputIO[0]=(vu32*)&PFout(9);//LED0
   Modbus_OutputIO[1]=(vu32*)&PFout(10);//LED1

  //保持寄存器指针
   Modbus_HoldReg[0]=(u16*)&RoomTemp;     
   Modbus_HoldReg[1]=(u16*)&RoomTempSv;   
   Modbus_HoldReg[2]=(u16*)&RoomHum;      
   Modbus_HoldReg[3]=(u16*)&RoomHumSetValue;      
   Modbus_HoldReg[4]=(u16*)&CHWTemp;
   Modbus_HoldReg[5]=(u16*)&CO2;
	 Modbus_HoldReg[6]=(u16*)&CO2Sv;
	 Modbus_HoldReg[7]=(u16*)&OccSta;
	 Modbus_HoldReg[8]=(u16*)&ECS;
	 Modbus_HoldReg[9]=(u16*)&ValveFb;
	 Modbus_HoldReg[10]=(u16*)&DPValue;
	 
	 Modbus_HoldReg[11]=(u16*)&IBSCommand;       //读取E-booking命令
	 Modbus_HoldReg[12]=(u16*)&ScheduleComm;     //读取Schedule命令
	 Modbus_HoldReg[13]=(u16*)&PDVComm;
}
Ejemplo n.º 2
0
u8 INPUT_ReadOne(u8 cs_num, u8 pin)
{
	u8 tmp = 0;
	assert_param(IS_INPUT_CS(cs_num));
	assert_param(IS_INPUT_PIN(pin));
	PDout(cs_num) = 0; //相应片选,低有效
	tmp = PEin(pin);
	PDout(cs_num) = 1;
	return tmp;
}