1.UART寄存器
typedef struct {
__RW __u16 CON0;
__RW __u16 CON1;
__WO __u16 BAUD;
__RW __u8 BUF;
__RW __u32 OTCNT;
__RW __u32 TXADR;
__WO __u16 TXCNT_HRXCNT;
//__RO __u16 HRXCNT;
__RW __u32 RXSADR;
__RW __u32 RXEADR;
__RW __u32 RXCNT;
} JL_UART_TypeDef;
这里就不说每个寄存器的功能是啥了,大家自己去看看芯片手册哈。上面的代码就是对应程序里面的UART寄存器的定义了。
2.了解sdk的uart流程以及函数
2.1uart的设定函数
void uart_module_init()
{
uart_module_on();
#ifdef __DEBUG
uart_debug_int(DEBUG_UART_RATE);
#endif
#if (BT_MODE == TEST_FCC_MODE)
fcc_test_uart_init(UART_FCC_RAE);
#endif
#if (BT_MODE == TEST_BQB_MODE) && (BLE_BREDR_MODE&BT_BLE_EN)
dut_test_uart_init(UART_BQB_RAE);
#endif
#if EQ_UART_DEBUG
eq_uart_debug_init(EQ_DEBUG_UART_RATE);
#endif
#if UART_UPDATA_EN
uart_update_init();
#endif
#if CHIP_UART_EN
comm_uart_int(SINGLE_CHIP_UART_RATE); //这个是我自己添加的UART通信
#endif // CHIP_UART_EN
/* uart1_rtx_cts(); */
}
参数是波提率。
2.2以EQ的串口在线调试函数为例
static s32 eq_uart_debug_init(u32 baud)
{
u32 status = 0;
#if (EQ_DEBUG_UART_SEL == UART1_TXPB0_RXPB1)
JL_IOMAP->CON1 &= ~(BIT(3) | BIT(2));
JL_PORTB