国民技术N32WB03X蓝牙透传使用

本文介绍了在使用国民技术N32WB03X单片机开发蓝牙功能时遇到的问题,包括修改蓝牙名称、设置延迟、数据传输接口、DMA与普通串口切换,以及推荐的上位机调试工具。
摘要由CSDN通过智能技术生成

近段时间由于项目需求要接触蓝牙传输功能,并且蓝牙芯片需要具备MCU的功能开发;在硬件上选择了国民技术的N32WB03X这一款单片机,这一款单片机具备蓝牙射频的功能与正常MCU的开发,在开发过程中遇到一系列问题在网上查找资料并没有多少参考资料,故而写一篇文章作为开发参考。

文章以国民技术提供的官方例程1.3.3的BLE目录下的rdtss例程作为参考

蓝牙名称的修改:(在app_uaer_config.h文件修改蓝牙名称以及连接参数)

下面是一些配置的宏定义,比如debug打印,info信息输出等,还可以修改debug输出串口

 新手建议修改一下main函数的两处代码,见下图修改方式一:delay_n_10us这个函数时为了增加开机时间延迟SWD时钟关闭的,建议增加到5s左右防止新手程序烧录失败;方式二:在while循环中去掉ns_sleep函数即禁用低功耗,程序就不会进入低功耗,SWD的时钟也就不会关闭;

 蓝牙接口:MCU接收手机或者是上位机下发的数据通过注册的函数接口将数据通过串口发送出来,在app_ble.c文件下的app_user_msg_handler函数时专门处理蓝牙数据的接口;

 在这个例程中,蓝牙的数据传输到串口都是用DMA功能处理的,当然也可以按照实际需求修改成普通串口模式,修改成普通串口修改方向如下:

1.串口中断需要开启发送中断与接收中断,在中断服务函数实现数据的收与发,切记清除发送中断,接收中断如果不接收数据的情况下一定要做清除中断标志的动作,如果读取数据可以省略这个步骤,因为读取数据的同时会清除标志;

2.数据发送到蓝牙端,即数据上传,需要把从中断接收到的数据拷贝到发送数组,即调用app_usart_rx_data_fifo_enter这个函数把数据拷贝过去;

 3.发送功能,需要修改usart_tx_dma_send这个函数,将数据拷贝到一个数组,然后调用中断将数据发送出去

实现上面两个接口既可以把DMA去掉,当然也可以修改成低功耗串口,不过低功耗串口外设时钟的初始化与正常的串口时钟使能不一样,可以参考lpuart的相关工程启用低功耗时钟 

对于蓝牙上位机的使用个人推荐去应用商店下载BLE调试助手,在测试PC端数据发送到调试助手时需要打开接收通知功能才可以看到数据的上传。

以上内容仅供参考,书写错误请指正!

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值