| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- /**
- * @file HW_UART_ATY.h
- *
- * @param Project DEVICE_GENERAL_ATY_LIB
- *
- * @author ATY
- *
- * @copyright
- * - Copyright 2017 - 2026 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 functions of uart for C platform
- *
- * @version
- * - 1_01_221231 > ATY
- * -# Preliminary version, first Release
- * - 1_02_240410 > ATY
- * -# add multy addr and channel
- * -# add lock
- * -# 1ms with 2 channel at the same time tested good(OK?)
- * - 1_04_251118 > ATY
- * -# finish UartPrintf and test
- ********************************************************************************
- */
- #ifndef __HW_UART_ATY_H
- #define __HW_UART_ATY_H
- #include "INCLUDE_ATY.h"
- /******************************* For user *************************************/
- // #define UART_RX_MAX_LEN (9 + (15 * 4))
- // #define UART_RX_MAX_LEN (16)
- #ifndef UART_RX_MAX_LEN
- #define UART_RX_MAX_LEN (254)
- #endif
- /******************************************************************************/
- struct HW_UART_ATY_Dev{
- // uint8_t* rx;
- uint8_t rx[UART_RX_MAX_LEN];
- uint8_t* tx;
- uint8_t rxCount;
- uint8_t txCount;
- uint32_t rcvOverTimeOutCountNum;
- uint32_t rcvOverTimeOutCount;
- uint8_t rcvOverFlag;
- uint8_t uartInitFlag;
- void (*uartInit)(uint8_t* rx);
- void (*uartSendByte)(uint8_t byte);
- /**
- * @brief uart receive data analysis in user define self
- */
- void (*uartReceiveProcess_User)();
- uint8_t lock;
- };
- uint8_t UartSendByte(uint8_t byte, struct HW_UART_ATY_Dev* dev);
- void UartRxClear(struct HW_UART_ATY_Dev* dev);
- void UartSendBytes(uint8_t* bytes, uint16_t len, struct HW_UART_ATY_Dev* dev);
- void UartSendStr(uint8_t* buf, struct HW_UART_ATY_Dev* dev);
- void UartSendFloat(float dataFloat, uint8_t endian, struct HW_UART_ATY_Dev* dev);
- void UartSendFloatStr(float dataFloat, uint8_t DECIMALS_NUM, struct HW_UART_ATY_Dev* dev);
- void UartReceiveProcess(struct HW_UART_ATY_Dev* dev);
- void UartPrintf(struct HW_UART_ATY_Dev* dev, ...);
- // #define UartPrintf_Test_ATY
- #ifdef UartPrintf_Test_ATY
- void UartPrintf_Test_All(struct HW_UART_ATY_Dev* dev);
- void UartPrintf_Test_Quick(struct HW_UART_ATY_Dev* dev);
- #endif /* UartPrintf_Test_ATY */
- #endif /* __HW_UART_ATY_H */
- /******************************** End Of File *********************************/
|