更改协议处理部分,但是串口没反应?

This commit is contained in:
2025-01-20 01:30:18 +08:00
parent b5b9d538a1
commit 6e0ec2b64e
7 changed files with 179 additions and 31 deletions

View File

@@ -13,13 +13,12 @@
#include "fwdgt.h"
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "ultrasonic_analog.h"
/******************************************************************************/
#define RX_BUFFER_SIZE 32
#define PROTOCOL_PACKAGE_HEADER 0xD5
#define PROTOCOL_BOARD_TYPE 0x04
#define PROTOCOL_PACKAGE_LENGTH 0x02
@@ -43,10 +42,16 @@ typedef enum
PS_PAYLOAD,
PS_CRC,
PS_NULL
} packet_state;
} packet_state_t;
/******************************************************************************/
#define BUF_SIZE 8
#define MAX_CMD_SIZE 16
#define PACKET_START_BYTE 0xD5
bool code_seen(char code);
// void process_command(uint8_t* cmd, size_t length);
void process_command(void);

View File

@@ -8,8 +8,29 @@
#include "gd32e23x.h"
#include "board_config.h"
#define RX_BUFFER_SIZE 64
typedef struct
{
unsigned char buffer[RX_BUFFER_SIZE];
volatile unsigned int head;
volatile unsigned int tail;
}ring_buffer;
void usart_config(void);
void rs485_config(void);
void store_char(unsigned char data, ring_buffer *rx_buffer);
uint16_t uart_available(void);
int uart_read(void);
void store_char(unsigned char data, ring_buffer *rx_buffer);
uint16_t uart_available(void);
int uart_read(void);
#endif //USART_H