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; }
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; }