Merge branch 'master' of http://git.brisky.space:441/btl143/firmware_zinnia
This commit is contained in:
@@ -49,7 +49,7 @@ void by_frame_parse(uint8_t data_num, uint32_t *data_array)
|
||||
uint16_t crc_cal = 0;
|
||||
uint32_t read_length = 50;
|
||||
|
||||
if (fifo_used(&frame_fifo) >= 12) {
|
||||
if (fifo_used(&frame_fifo) >= 4 + 4 * data_num) {
|
||||
fifo_read_buffer(&frame_fifo, frame_buffer_parse, &read_length, FIFO_READ_AND_CLEAN);
|
||||
while (1) {
|
||||
if (cnt_ptr < 50) {
|
||||
@@ -88,8 +88,9 @@ void by_frame_parse(uint8_t data_num, uint32_t *data_array)
|
||||
if (!cnt_crc) {
|
||||
if (crc_cal == crc16_check(data_array_temp, 2 + data_num * sizeof(uint32_t))) {
|
||||
memcpy(data_array, data_array_temp + 2, data_num * sizeof(uint32_t));
|
||||
fifo_clear(&frame_fifo); // TODO 确认是否有必要清除
|
||||
// lwrb_reset(&lwrb_struct); // 处理完直接清空缓冲区,避免堆积产生处理阻塞
|
||||
memset(data_array_temp, 0, sizeof(data_array_temp));
|
||||
// printf("parsed done!\r\n");
|
||||
for (uint8_t i = 0; i < data_num; i++) {
|
||||
for (uint8_t j = 0; j < 4; j++) {
|
||||
uart_write_byte(DEBUG_UART_INDEX, data_array[i] >> (j * 8));
|
||||
|
||||
Reference in New Issue
Block a user