mbfuncfile.c 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. /**
  2. * @Author: 李建
  3. * @Date: 2024/9/7 10:46
  4. * Description: modbus rtu实现写文件功能码0x15
  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_FILE_ENABLE
  16. eMBException eMBFuncWriteFile(UCHAR *pucFrame, USHORT *usLen) {
  17. eMBErrorCode eRegStatus;
  18. eMBException eStatus = MB_EX_NONE;
  19. eRegStatus = eMBWriteFileCB( &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. {
  24. eStatus = prveMBError2Exception( eRegStatus );
  25. }
  26. }
  27. #endif