diff --git a/app/by_frame.c b/app/by_frame.c index 1b09187..789968d 100644 --- a/app/by_frame.c +++ b/app/by_frame.c @@ -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) diff --git a/app/by_frame.h b/app/by_frame.h index 29a555c..6b1ce45 100644 --- a/app/by_frame.h +++ b/app/by_frame.h @@ -8,13 +8,15 @@ #include -#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);