mbfuncdeviceserial.c 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. /**
  2. * @Author: 李建
  3. * @Date: 2024/9/7 10:46
  4. * Description: modbus 写入设备序列号的实现
  5. * Copyright: Copyright (©) 2024 永续绿建. All rights reserved.
  6. */
  7. #include "mb.h"
  8. #include "mbframe.h"
  9. // 定义ymodem协议包的起始始偏移地址
  10. #define MB_PDU_YMODEM_PACK_OFFSET ( 0 )
  11. // 定义帧头的偏移地址
  12. #define MB_PDU_YMODEL_PACK_HEADER_OFFSET ( MB_PDU_YMODEM_PACK_OFFSET + 1 )
  13. /* ----------------------- Static functions ---------------------------------*/
  14. eMBException prveMBError2Exception(eMBErrorCode eErrorCode);
  15. #if MB_FUNC_WRITE_DEVICE_SERIAL_ENABLE
  16. eMBException eMBFuncWriteDeviceSerial(eMBRTUSlaveObj *obj, UCHAR *pucFrame, USHORT *usLen) {
  17. eMBErrorCode eRegStatus;
  18. eMBException eStatus = MB_EX_NONE;
  19. eRegStatus = obj->callback->eMBWriteDeviceSerialCB(&pucFrame[MB_PDU_YMODEL_PACK_HEADER_OFFSET],
  20. &pucFrame[MB_PDU_YMODEL_PACK_HEADER_OFFSET], usLen);
  21. /* If an error occured convert it into a Modbus exception. */
  22. if (eRegStatus != MB_ENOERR) {
  23. eStatus = prveMBError2Exception(eRegStatus);
  24. }
  25. return eStatus;
  26. }
  27. #endif