| | |
| | | void Modbus_RegMap(void) |
| | | { |
| | | u16 i; |
| | | RS485_Addr=g_com_map[DEV_ID]; |
| | | RS485_Addr=g_com_map[DEV_ID]&0xff; |
| | | for(i=0;i<MODBUS_SIZE;i++) |
| | | { |
| | | Modbus_HoldReg[i]=i; |
| | |
| | | RS485_TX_BUFF[2]=RegNum*2; |
| | | for(i=0;i<RegNum;i++) |
| | | { |
| | | if(i<100) |
| | | if(startRegAddr<100) |
| | | { |
| | | RS485_TX_BUFF[3+i*2]=(Modbus_HoldReg[startRegAddr+i]>>8)&0xFF;// /////////å
åéé«åè--å¨åéä½åè |
| | | RS485_TX_BUFF[4+i*2]=(Modbus_HoldReg[startRegAddr+i])&0xFF; // |
| | |
| | | { |
| | | if(startRegAddr<600) |
| | | { |
| | | memcpy(&g_com_map[startRegAddr-100],&RS485_RX_BUFF[4],2); |
| | | g_com_map[startRegAddr-100]=RS485_RX_BUFF[4]<<8|RS485_RX_BUFF[5]; |
| | | } |
| | | }else{ |
| | | Modbus_HoldReg[startRegAddr]=RS485_RX_BUFF[4]<<8;//é«åèå¨å ////////ä¿®æ¹ä¸ºé«åèå¨åï¼ä½åèå¨å |