BLE 4.1 协议栈串口DMA模式

本文介绍了如何将BLE 4.1协议栈的串口从默认的P0_2和P0_3改接到P1_4和P1_5的Alt2方式,涉及修改HAL_UART=TRUE和xPOWER_SAVING的预编译定义,更新HalUARTInitDMA函数,设置波特率和关闭流控,以及添加串口回调函数。然而,改接后出现乱码问题,经排查发现是DMA传输速度与串口不匹配,通过增加适当延时解决了此问题。
摘要由CSDN通过智能技术生成

蓝牙 BLE BLE-CC254x-1.4.1.43908协议栈串口默认是串口0,RX和TX引脚分别是P0_2和P0_3,硬件板子改板成串口0的Alt2方式,即RX和TX引脚分别是P1_4和P1_5。如图:
这里写图片描述
需要修改协议栈的部分代码才可以使用串口0 Alt2方式传输数据。
1.Option-c/c++ Compiler Preprocessor-Defined symbols添加宏编译定义:
HAL_UART=TRUE
xPOWER_SAVING
2._hal_uart_dma.c文件里面对HalUARTInitDMA串口初始化函数,改为Alt. 2方式。

#if (HAL_UART_DMA == 1)
 // PERCFG &= ~HAL_UART_PERCFG_BIT;    // Set UART0 I/O to Alt. 1 location on P0.
  PERCFG |= HAL_UART_PERCFG_BIT;     // Set UART1 I/O to Alt. 2 location on P1.
#endif

还要修改相关串口硬件引脚和寄存器:

#if    (HAL_UART_DMA == 1)
#define PxSEL                      P1SEL
#define HAL_UART_PERCFG_BIT        0x01         // USART0 on P0, Alt-1; so clear this bit.
#define HAL_UART_PRIPO             0x00         // USART0 priority
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值