generated from hulk/gd32f4xx_template_cmake_vscode
Port command protocol framework from E23x (RS485 data link)
This commit is contained in:
+5
-11
@@ -3,7 +3,6 @@
|
||||
#include "gd32f4xx_rcu.h"
|
||||
#include "gd32f4xx_gpio.h"
|
||||
#include "board_config.h"
|
||||
#include "uart.h"
|
||||
|
||||
/* 独立接收环形缓冲区(与 debug 串口的 uart_ring_buffer 隔离),
|
||||
采用"预留一格"区分空/满,最大可用容量为 RS485_RX_BUFFER_SIZE-1 */
|
||||
@@ -92,16 +91,11 @@ int rs485_rx_get(void) {
|
||||
return data;
|
||||
}
|
||||
|
||||
void rs485_process(void) {
|
||||
while (rs485_rx_available() > 0) {
|
||||
int b = rs485_rx_get();
|
||||
if (b < 0) {
|
||||
break;
|
||||
}
|
||||
/* 拉通阶段:原样回发 RS485,同时转发 debug 串口便于观察 */
|
||||
rs485_send((const uint8_t *)&b, 1);
|
||||
debug_uart_write((uint8_t)b);
|
||||
}
|
||||
void rs485_rx_clear(void) {
|
||||
uint32_t primask = rs485_irq_save();
|
||||
rs485_write_index = 0;
|
||||
rs485_read_index = 0;
|
||||
rs485_irq_restore(primask);
|
||||
}
|
||||
|
||||
void rs485_irq_handler(void) {
|
||||
|
||||
Reference in New Issue
Block a user