| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /**
- * @file ALGO_CRC_ATY.h
- *
- * @param Project ALGO_Algorithm_ATY_LIB
- *
- * @author ATY
- *
- * @copyright
- * - Copyright 2017 - 2023 MZ-ATY
- * - This code follows:
- * - MZ-ATY Various Contents Joint Statement -
- * <a href="https://mengze.top/MZ-ATY_VCJS">
- * https://mengze.top/MZ-ATY_VCJS</a>
- * - CC 4.0 BY-NC-SA -
- * <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">
- * https://creativecommons.org/licenses/by-nc-sa/4.0/</a>
- * - Your use will be deemed to have accepted the terms of this statement.
- *
- * @brief Familiar functions of CRC16 Modbus(others to be supplemented) for all codes
- *
- * @version
- * - 1_01_200318 > ATY
- * -# Preliminary version, first Release
- * - 1_03_200318 > ATY
- * -# Add Conditional Compilation
- * -# Add user port
- * - 1_05_200722 > ATY
- * -# Change parameters
- **********************************************************************************
- */
- #ifndef __ALGO_CRC_ATY_H
- #define __ALGO_CRC_ATY_H
- #include "INCLUDE_ATY.h"
- #include "ALGO_AlgorithmBase_ATY.h"
- /******************************* For user *************************************/
- // #define __DEBUG_ALGO_CRC_ATY
- #define __CRC_CALC_ATY //use look-up table or calculate
- /******************************************************************************/
- uint16_t GenCrc16Modbus(uint8_t* buf, uint8_t size);
- uint8_t GenCrc16ModbusHL(uint8_t* buf, uint8_t size, uint8_t highLow);
- uint8_t CheckCrc16Modbus(uint8_t* buf, uint8_t size);
- #ifdef __DEBUG_ALGO_CRC_ATY
- void TestCrc16Modbus(void);
- #endif /* __DEBUG_ALGO_CRC_ATY */
- // http://api.ip33.com/ss/crc/c?data=12+32&width=16&poly=8005&init=FFFF&xor=0000&refin=true&refout=true
- // {
- // "code": 0,
- // "hex": "C58C",
- // "bin": "1100010110001100"
- // }
- #endif /* __ALGO_CRC_ATY_H */
- /******************************** End Of File *********************************/
|