添加载入缓冲区函数

This commit is contained in:
Kidenygood 2023-04-03 18:40:49 +08:00
parent 7bb41c56b7
commit ef5cdda82c
2 changed files with 31 additions and 3 deletions

View File

@ -16,8 +16,8 @@
#define RE_RX_BUFFER_SIZE 200
static USARTInstance *referee_usart_instance; // 暂时改为非静态变量
static USARTInstance *referee_usart_instance;
static referee_tx_buffer_t referee_tx_buffer={{0},0};
static referee_info_t referee_info;
static void JudgeReadData(uint8_t *ReadFromUsart);
static void RefereeRxCallback();
@ -35,16 +35,29 @@ referee_info_t *RefereeInit(UART_HandleTypeDef *referee_usart_handle)
return &referee_info;
}
/**
* @brief
* @param send
*/
void RefereeLoadToBuffer(uint8_t *send, uint16_t tx_len)
{
memcpy((uint8_t *)(&referee_tx_buffer.buffer)+referee_tx_buffer.pos,send,tx_len);
referee_tx_buffer.pos+=tx_len;
}
/**
* @brief
* @param send
*/
void RefereeSend(uint8_t *send, uint16_t tx_len)
{
USARTSend(referee_usart_instance, send, tx_len);
USARTSend(referee_usart_instance, send, tx_len);//syhtodo此函数需要重写
/* syhtodo DMA请求过快会导致数据发送丢失考虑数据尽可能打成一个整包以及队列发送并且发送函数添加缓冲区 */
}
/*裁判系统串口接收回调函数,解析数据 */
static void RefereeRxCallback()
{

View File

@ -7,6 +7,14 @@
extern uint8_t UI_Seq;
#pragma pack(1)
#define RE_TX_BUFFER_SIZE 1024
//发送缓冲区结构体定义
typedef struct
{
uint8_t buffer[RE_TX_BUFFER_SIZE];
uint8_t pos;
} referee_tx_buffer_t;
typedef struct
{
uint8_t Robot_Color; //机器人颜色
@ -50,6 +58,13 @@ typedef struct
*/
referee_info_t *RefereeInit(UART_HandleTypeDef *referee_usart_handle);
/**
* @brief
* @param send
*/
void RefereeLoadToBuffer(uint8_t *send, uint16_t tx_len);
/**
* @brief
* @todo