/****************************************************************************** * @file jb_port.c * @brief 协议硬件对接层:串口/定时器 ↔ 协议 API * @author cyWu <1917507415@qq.com> * @date 2026.08.10 * @version V1.0.0 * @history * - V1.0.0, 2026.08.10, cyWu, 首次发布 ******************************************************************************/ #include "jb_port.h" #include "jb_uart.h" #include "jb_timer.h" #include "jb_protocol.h" #include "main.h" /** * @brief UART RX 单字节 → 协议环形缓冲(不放在 jb_product 中) * @param byte 收到的字节 */ static void jb_port_on_uart_rx(uint8_t byte) { jbPutData(&byte, 1U); } /** * @brief 初始化协议串口 */ void jb_port_uart_init(void) { jb_uart_set_rx_callback(jb_port_on_uart_rx); if (jb_uart_init() != JB_UART_OK) { Error_Handler((uint8_t *)__FILE__, __LINE__); } } /** * @brief 协议串口发送 * @param buf 数据 * @param len 长度 * @return 成功返回 len,失败 -1 */ int32_t jb_port_uart_write(uint8_t *buf, uint32_t len) { return jb_uart_write(buf, len); } /** * @brief 主循环串口处理 */ void jb_port_uart_run(void) { jb_uart_run(); } /** * @brief 初始化 1ms 定时器硬件 */ void jb_port_timer_init(void) { if (jb_timer_init() != JB_TIMER_OK) { Error_Handler((uint8_t *)__FILE__, __LINE__); } }