pref: 优化通信
This commit is contained in:
@@ -25,13 +25,14 @@ void by_frame_send(uint8_t data_num, uint32_t *data_array)
|
||||
frame_buffer[0] = BY_FRAME_HEAD_1;
|
||||
frame_buffer[1] = BY_FRAME_HEAD_2;
|
||||
|
||||
memcpy(frame_buffer + 2, data_array, data_num * sizeof(uint32_t));
|
||||
memcpy(&frame_buffer[2], data_array, data_num * sizeof(uint32_t));
|
||||
crc_cal = crc16_check(frame_buffer, 2 + data_num * sizeof(uint32_t));
|
||||
|
||||
frame_buffer[2 + data_num * sizeof(uint32_t)] = (uint8_t)(crc_cal >> 8);
|
||||
frame_buffer[3 + data_num * sizeof(uint32_t)] = (uint8_t)(crc_cal);
|
||||
|
||||
uart_write_buffer(BY_FRAME_UART_INDEX, frame_buffer, 4 + data_num * sizeof(uint32_t));
|
||||
system_delay_us(BY_FRAME_UART_IDLE_TIME_US);
|
||||
}
|
||||
|
||||
void by_frame_parse(uint8_t data_num, uint32_t *data_array)
|
||||
|
||||
@@ -8,13 +8,15 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define BY_FRAME_HEAD_1 (0XEB)
|
||||
#define BY_FRAME_HEAD_2 (0x90)
|
||||
#define BY_FRAME_HEAD_1 (0XEB)
|
||||
#define BY_FRAME_HEAD_2 (0x90)
|
||||
|
||||
#define BY_FRAME_UART_TX_PIN (UART2_MAP0_TX_A2)
|
||||
#define BY_FRAME_UART_RX_PIN (UART2_MAP0_RX_A3)
|
||||
#define BY_FRAME_UART_INDEX (UART_2)
|
||||
#define BY_FRAME_UART_BAUDRATE (115200)
|
||||
#define BY_FRAME_UART_TX_PIN (UART2_MAP0_TX_A2)
|
||||
#define BY_FRAME_UART_RX_PIN (UART2_MAP0_RX_A3)
|
||||
#define BY_FRAME_UART_INDEX (UART_2)
|
||||
#define BY_FRAME_UART_BAUDRATE (115200)
|
||||
|
||||
#define BY_FRAME_UART_IDLE_TIME_US ((1000000 / BY_FRAME_UART_BAUDRATE * 8) * 4)
|
||||
|
||||
extern void by_frame_init(void);
|
||||
extern void by_frame_send(uint8_t data_num, uint32_t *data_array);
|
||||
|
||||
Reference in New Issue
Block a user