BLE 协议栈 之串口收发

这篇博客探讨了如何使用BLE协议栈优化串口收发,避免数据延迟问题。通过NPI.c中的函数调用和NPI_InitTransport配置,可以在UART 0 (alt.2)上实现高效串口通信。串口接收回调函数NpiSerialCallback作为中断处理,BLE协议将中断转换为事件处理方式。同时,介绍了如何处理HAL_UART_RX_full等中断事件,并展示了添加LCD显示的初步步骤。
摘要由CSDN通过智能技术生成

     曾经曾经的一篇关于串口收发的博客,是直接使用串口中断收发的,虽然这样实现了收发功能,但是对于大量数据传送的时候,就会出现数据收发不及时的情况,无意间发现了一种更为简单的方式,十分方便快捷~

      BLE协议栈中对于串口收发已经封装的很彻底了,主要的函数都在NPI.c 实现了,只要调用就可以了。当然串口的配置是在NPI_InitTransport函数中,改变相应的配置是在NPI.h中。

    硬件原因,所以串口使用的是uart 0 (alt.2)  收发引脚在P1.4 和P1.5 上,所以初始化的时候需要进行一些修改。

 

宏定义:

HAL_UART=TRUE 

去掉电源管理定义 :xPOWER_SAVING

 

 在SimpleBLECentral_Init中进行初始化:

 /************* uart init ************************************/
  NPI_InitTransport(NpiSerialCallback);
  
  PERCFG = 0x01;              //位置1 P1口   
  P1SEL = 0x30;                   //P1_4,P1_5用作串口(外部设备功能)   
  U0CSR |= 0x80;              //设置为UART方式    
  NPI_WriteTransport("Hello W
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值