一、问题描述:项目中有一个温度传感器NST1001是通过计数脉冲来获取温度原始值的,每个 周期50ms,脉冲周期最大35ms,空闲时间15ms,脉冲脚配置为外部中,因为频繁进入外部中断,导致和蓝牙广播中断冲突,造成程序死机。

解决思路如下:

1. 造成死机的原因是蓝牙和外部中断异常,可以把蓝牙和外部中断分开执行;

2. 蓝牙广播间隔20ms~10.24s,可以适当拉大蓝牙广播间隔;

3. 外部中断计数脉冲结束,关闭NST1001电源和外部中断,再进行蓝牙广播更新数据;

4. 所有用到中断的模块,统一采集完数据之后,进行广播更新,然后再采集。

二、关于LE5010

该芯片内核是采用cortex-m0架构,用蓝牙时添加蓝牙部分代码相当于:MCU+蓝牙(外设),不用蓝牙时就是一个普通的MCU,flash为512KB,SRAM为64KB。

蓝牙项目总结:

1)  裸机代码开发不能用while(1),功能模块添加到定时器回调函数中,函数中仅调用API和计时,其他的封装到外部,这样代码逻辑看起来更加整洁;

2) 定时器、ADC、串口等外设,基本都是调用回调函数进行操作;

3)  MCU的ADC特性,官方手册没有说明,测试发现采样电阻为200K,采集电压误差0.02,因为功耗为21uA,所以如果对功耗敏感,就不太适用于低功耗电路。可行的方案是:采样电路设计为2/3分压(因为电池电压4.2V,ADC仅采集到3.3V),采样电阻可以用200K(ADC采集更稳定,因为阻抗越大,变化越不敏感,更适用于采集电池电压计算电量值),在电路2/3分压处,一端接入ADC输入端,一端接I/O口,采集时拉低电平,不采集时拉高以降低功耗,另一端接的是Vbat;

ADC输入大阻抗1M、2M,解决采集数据不稳定方法如下:

ADC采集电压不稳定,每次休眠后复位采集的数据通过测试发现,只有间隔60ms采集一次,数据才能在第五次采集时稳定下来,对于低功耗设备来说不可取,因为采样电阻并联了一个100nf的电容,因为阻抗太大,导致电容充电时间太长,所以,复位之后开始时ADC采集电压会慢慢升高到稳定阶段,把并联电容去掉,ADC初始化驱动采用经过buf运放,ADC采集电压一开始采集上来就很稳定了。

4) 查看蓝牙广播数据是否正常,可以通过nRF Connect进行实时监视;

5) 蓝牙协议格式:len+type+data(len=type+data)。

LE5010蓝牙芯片(凌思微)开发总结相关推荐

  1. 凌思微-LE5010蓝牙开发(一)

    LE5010-凌思微电子蓝牙芯片的开发记录(一) Linkedsemi(凌思微电子有限公司) 内容简介 环境安装 步骤一:![keil开发注意事项](https://img-blog.csdnimg. ...

  2. 凌思微-LE5010蓝牙开发(五)

    LE5010-凌思微电子蓝牙芯片的开发记录(五) 这篇文章主要介绍凌思微电子蓝牙模块的代码上怎么设置加密模式. 首先代码附上:(注意此例程是基于ble_hid这个demo进行修改的) /**defgr ...

  3. 凌思微-LE5010蓝牙开发(三)

    LE5010-凌思微电子蓝牙芯片的开发记录(三) 第1章 OTA镜像处理流程 1. 1 Flash的分区使用情况: 1. 2 Bootloader 启动流程(OTA相关) 1. 3 OTA和Flash ...

  4. 思微特电器进销存总结

    思微特电器进销存总结 项目开发人员配置: 项目完成使用时间: 使用的开发工具: 项目开发环境: 项目用到的技术: 日志功能版本: 本系统为客户解决的问题: 本系统的主要模块: 各个模块功能介绍 本人具 ...

  5. 飞凌嵌入式RK3399开发板使用过程中问题实录及解决思路

    飞凌RK3399的开发板,已经推出了一段时间,根据飞凌嵌入式技术服务部统计的客户问题反馈,整理了一份客户在使用RK3399开发板过程中经常遇到的几个问题,并提供了解决思路. RK3399开发板简介: ...

  6. qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...

    作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...

  7. 【官方搭建入门】JEEWX 捷微开发环境搭建必读

    [官方搭建入门]JEEWX 捷微开发环境搭建必读 下载地址: http://git.oschina.net/jeecg/jeewx 1. 标准开发环境:eclipse + maven + jdk7 + ...

  8. Hi3559av100安装linux,海思hi3559AV100开发板参数规格介绍

    海思hi3559AV100开发板调试参数资料介绍: 处理器内核: 双核 arm Cortex A73@1.8GHz,32KB I-Cache, 64KB D-Cache /512KB L2 cache ...

  9. 海思软件开发入门篇 (一)

    标题 海思软件开发入门篇 (一)   (第一次写博客,有错别字与写的不好的地方敬请谅解.)   加过很多群,也逛过很多论坛,很多人在问,第一次接触海思不知道从而入手,的确,现在一个SDK动不动上G,还 ...

最新文章

  1. 硬件常见问题及排错思路。
  2. 如何用命令将本地项目上传到git
  3. 将NetConf转成NormalizedNode对象及NormalizedNode对象转回NetConf(序列化与反序列化)
  4. WCF分布式安全开发实践(9):消息安全模式之Windows身份验证:Message_Windows_NetTcpBinding...
  5. hazelcast_Java:如何在不到5分钟的时间内通过Hazelcast提高生产力
  6. UNIX(多线程):01---线程简介及线程限制
  7. Ubuntu下基于Virtualenv构建Python开发环境
  8. 数据结构—快速排序及其实现思想分而治之DC(思维导图版)
  9. c++ 开方_20款丨空调控制系统的三种打开方式
  10. POJ3080Blue Jeans
  11. kuangbin专题-最短路练习
  12. 1.3 三种交换方式:电路交换、分组交换、报文交换
  13. 初步了解3dmax建模方式和多边形建模
  14. A站工具姬pc电脑版
  15. wpf拖拽图片,滚轮放大缩小
  16. 使用plotly画3d立方体
  17. python爬取微博数据词云_爬虫篇:使用Python动态爬取某大V微博,再用词云分析...
  18. 精读《素书》精彩语录及感悟篇(二)
  19. 汇编语言--键盘扫描及显示实验(含代码解释)
  20. python之股票小工具开发学习

热门文章

  1. gzip: stdin: not in gzip format
  2. win10开始菜单打不开,菜单栏右键无反应解决办法
  3. TJA1050比pC8C250一个值得关注的优势
  4. 基于IView UI 的关闭当前页面,并返回上一页
  5. python保存为xlsb_How can I convert a XLSB file to csv using python?
  6. php数组定义名字,php数组的定义
  7. ik php分词,ik中英文混合分词器
  8. 【R言R语】系列之算法工程师入职半年的总结与感悟
  9. 【东莞市选2007】格斗俱乐部
  10. 深度评测e5 2660和i510400f哪个好