pref: 优化通信

This commit is contained in:
bmy
2024-03-05 16:35:16 +08:00
parent ea7bf37daa
commit 6859831b50
2 changed files with 10 additions and 7 deletions

View File

@@ -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)

View File

@@ -16,6 +16,8 @@
#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);
extern void by_frame_parse(uint8_t data_num, uint32_t *data_array);