在CC2541蓝牙模块调试过程中,用到了串口模块,但是在串口输出时偶尔会出现乱码,大部分情况数据是正常的。最后通过TI的官方论坛和相关文档,查找到了原因:
原来CC2541在出厂默认情况下,当CC2541的射频工作时,即蓝牙发送或接收数据时,CPU会停机(halt),这是为了减小射频工作时的峰值电流。所以在固件设计时,要进行相应设置,把CC2541在射频工作时CPU halt的功能去掉。可以在初始化的时候,调用下列函数:

HCI_EXT_HaltDuringRfCmd(HCI_EXT_HALT_DURING_RF_DISABLE);

关于这个函数,可以参考TI的文档《TI_BLE_Vendor_Specific_HCI_Guide》P45。可以看出,TI为了减小CC2541的功耗真是无所不用其极,哈。按文档中的描述,Disable掉这个功能后,峰值电流会增加。因为手头没有精密工具,只是用万用表打到电流档串到电路中,对比测了下平均电流,从这个工具上看不出什么变化来。当然,因为这个项目就是要串口一直工作,所以不能让CPU休息,以免乱码,我们也不在意多出来的这点功耗。

CC2541蓝牙串口乱码解决相关推荐

  1. RS485串口乱码解决(F107VCT6)

    最近在学习RS485串口的使用遇到一个大坑,在此记录一下,希望后面的人别上当. 我写好了串口RS485的初始化及发送函数,正是激动人心的时刻,本以为可以结束串口,继续往下学习新的外设了,可是编译下载后 ...

  2. android 串口乱码,解决串口接收数据乱码的问题

    如标题所示,各种仪器仪表进行串口通讯,都可能遇到运行后发现串口数据出错,接收到的都是乱码,不知道是哪个环节出了问题,怎么办? 乱码的原因通常有两个: 1.波特率 数据位 校验位 不匹配,即我们的网络转 ...

  3. STM32F105使用固件库的时候串口乱码解决方法

    主要是根据你的外部晶振修改的.若使用的外部晶振是8M,可用如下方法修改. 将 "stm32f10x.h" 做如下修改,就能解决问题. #if !defined  HSE_VALUE ...

  4. 蓝牙4.0BLE 手机控制 cc2540 CC2541 的串口透传功能已实现

    蓝牙4.0BLE 手机控制 cc2540 CC2541 的串口透传功能已实现 虽然蓝牙4.0 BLE芯片CC2540 是单芯片(即用户可以对它进行芯片级代码编写), 是8051增强型主控, 带蓝牙4. ...

  5. 串口发数据到android数据错误,51单片机通过蓝牙串口模块发送JSON数据给安卓手机故障解决办法...

    原标题:51单片机通过蓝牙串口模块发送JSON数据给安卓手机故障解决办法 JSON(Java Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMA (欧洲计 ...

  6. 笔记本蓝牙崩溃、图标消失不能打开蓝牙功能-解决办法(由于蓝牙串口连接出现的问题)

    学单片机遇到蓝牙崩溃的问题 解决蓝牙串口发送时,蓝牙功能突然消失如下图: 原因: 单片机发送速度太快了,串口不断向电脑发送数据,导致电脑端崩溃. 解决办法:本人前前后后这种情况出现了6次.总结方法如下 ...

  7. Android蓝牙串口通讯【转】

    本文转载自:http://blog.sina.com.cn/s/blog_631e3f2601012ixi.html Android蓝牙串口通讯 闲着无聊玩起了Android蓝牙模块与单片机蓝牙模块的 ...

  8. Android 蓝牙串口通信工具类 SeriaPortUtil 2.0.+

    原文地址:https://www.shanya.world/archives/2fd981ea.html SerialPortUtil 提示 最新版本 3.0.+ 已发布,其对比 2.0.+ 版本,A ...

  9. ESP32-pico-kit 串口通信 与 蓝牙串口

    文章目录 一.串口及ESP32介绍 1.串口通信 2.ESP32-pico-kit 二.串口UART 1.串口引脚 2.串口常用函数 (1)开启串口 (2)关闭串口 (3)输出数据 (4)读取数据 ( ...

  10. android 蓝牙串口连接不上,安卓手机搜索不到蓝牙模块HC-06,是怎么回事?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 问题0010:蓝牙串口模块使用的正确步骤 很多人现在都开始使用蓝口模块,利用手机蓝牙或者PC蓝牙进行控制单片机系统.但是很多人一上来就直接把蓝牙模块和单片 ...

最新文章

  1. python类_Python中的类
  2. android 应用程序 判断 ,如何判断Android应用程序是否正在前台运行?
  3. 面试题28 字符串排列
  4. [vue] Vue.observable你有了解过吗?说说看
  5. rust怎么上邮轮_20年内泰坦尼克号将消失 英公司推三千米沉船之旅
  6. Flutter布局锦囊---轮播图片与滑块
  7. 如何实现多实验并行迭代,谈阿里妈妈的A/B测试实践
  8. flex invalidation 机制
  9. 构建之法读书笔记02
  10. Intel CPU命名规则
  11. html canvas 简单体验
  12. 国产杂牌机java_国货精品 山寨 杂牌 HiPhone 诺卡 MTK联发科 mrp
  13. Smart V3触摸屏与S7-200Smart PLC实现时间同步的具体方法
  14. matlab 混沌_释放混沌猴子
  15. 基于JavaWeb的新闻发布管理系统设计与实现 毕业论文+任务书+开题报告+答辩PPT+项目源码及数据库文件
  16. Glide4 设置默认图片和错误图片,即设置占位图
  17. MATLAB TIFF转Shape、TIFF和Shape的读写
  18. 合理的电梯(水题 杭电排位赛-6)
  19. 【Spring应用】SPEL表达式使用
  20. 【tableau】presto驱动安装

热门文章

  1. Axure 9.0 上使用 Font Awesome 图标库
  2. 又一个PS2汉化入门
  3. LANC环链电动葫芦的结构设计与组成
  4. Java网络编程-简易聊天室源码分享
  5. 对华为HG526无线猫做一下补充说明
  6. 电脑经验小总结(原创)
  7. jsp网上零食销售网站系统
  8. android 类似qq表情,android 实现类似qq表情
  9. android 打地鼠,Android实现打地鼠小游戏
  10. 亿安科技作手_亿安科技作手(2)-李B