67 lines
1.4 KiB
C
67 lines
1.4 KiB
C
/******************************************************************************
|
|
* @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__);
|
|
}
|
|
}
|