Files
QDAC-firmware/app/tiny_frame/by_tiny_frame_parse.h

34 lines
1.1 KiB
C
Raw Normal View History

2024-02-15 22:50:20 +08:00
#ifndef _BY_TINY_FRAME_PARSE_H__
#define _BY_TINY_FRAME_PARSE_H__
#include <stdio.h>
#include <stdint.h>
#include "by_tiny_frame_config.h"
// 从机地址 (1b) - 功能码 (1b) - 寄存器地址 (2b) - 数据 (4b) - CRC(2b)
// 从机地址 (1b) 0-127, 最低位表示发送方,主机请求低位为 0从机应答低位为 1
2024-02-23 18:56:53 +08:00
// 高字节在前
2024-02-15 22:50:20 +08:00
typedef struct by_tf_parse_frame_t {
uint8_t frame[10];
uint8_t cmd;
uint16_t reg_addr;
uint16_t crc_val;
uint32_t data;
} by_tf_parse_frame_t;
typedef void (*by_tf_parse_done_handle_func)(by_tf_parse_frame_t, uint8_t);
2024-02-15 22:50:20 +08:00
extern void by_tiny_frame_parse_init(void);
extern void by_tiny_frame_parse_uart_handle(uint8_t buff);
2024-03-02 18:17:30 +08:00
extern void by_tiny_frame_parse_timer_handle(void);
2024-02-15 22:50:20 +08:00
extern void by_tiny_frame_parse_run(void);
extern uint8_t by_tiny_frame_parse_crc(by_tf_parse_frame_t *frame_s);
extern void by_tiny_frame_parse_handle_register(by_tf_parse_done_handle_func func);
extern void by_tiny_frame_parse_start_listen(void);
extern void by_tiny_frame_parse_end_listen(void);
extern void by_tiny_frame_parse_set_listen_slave_id(uint8_t slave_id);
2024-02-15 22:50:20 +08:00
#endif