1. 杰理696 SDK UART配置概述
在嵌入式开发领域,UART(通用异步收发传输器)是最基础也最常用的通信接口之一。杰理AC696N系列芯片作为蓝牙音频SoC的典型代表,其UART接口的配置对于设备调试、固件升级和数据传输都至关重要。最近在调试基于AC696N的项目时,我发现官方SDK中UART的配置存在一些需要特别注意的细节,这些在实际开发文档中往往没有明确说明。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. UART硬件特性分析
2.1 杰理AC696N的UART硬件资源
AC696N芯片通常提供至少两个UART接口:
- UART0:全功能接口,支持硬件流控(RTS/CTS)
- UART1:基础功能接口,通常用于日志输出
每个UART接口的关键特性包括:
- 可编程波特率(支持高达3Mbps)
- 8位或9位数据长度
- 可配置的停止位(1/1.5/2位)
- 可选的奇偶校验位
- 独立的64字节发送和接收FIFO
注意:实际可用UART数量可能因芯片具体型号和封装不同而变化,建议查阅最新的芯片数据手册确认。
2.2 引脚复用配置
在AC696N中,UART引脚通常与其他功能复用,需要通过PAD_MUX寄存器进行配置:
c复制// UART0引脚复用配置示例
PAD_MUX &= ~(0x3 << 12); // 清除PA6/PA7原有配置
PAD_MUX |= (0x1 << 12); // 设置PA6为UART0_RX
PAD_MUX |= (0x1 << 14); // 设置PA7为UART0_TX
3. SDK中的UART驱动解析
3.1 驱动初始化流程
杰理696 SDK中UART驱动的典型初始化过程:
- 时钟使能:
c复制CLK_CON0 |= (1 << 5); // 使能UART0时钟
-
引脚功能配置(如2.2节所示)
-
波特率设置:
c复制// 计算波特率分频值(假设系统时钟40MHz)
#define UART_BAUD_RATE 115200
uint16_t div = 40000000 / (16 * UART_BAUD_RATE);
UART0_DL = div & 0xFF;
UART0_DH = (div >> 8) & 0xFF
