怎么把CC2541的获取电池电量量获取,在广播出去

& 相关文章 &
CC2541解析广播数据及扫描响应
广播数据(advertData)和扫描响应(scanRspData) 版权声明:本文为博主原创文章,未经博主允许不得转载。
可穿戴设备(CC2541)上微信(6)
( scanResponseData ), scanResponseData );
GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData );最后要重新设置 GAPROLE_SCAN_RSP_DATA 和 GAPROLE_ADVERT_DATA 微信客户端是通过扫描 BLE 设备的 MAC 地址并连接 版权声明:本文为博主原创文章,未经博主允许不得转载。
CC2540与CC2541的区别
% compatible, as the BLE stack masks some minor differences in the radio interface. The latest version of the BLE stack has full support for both CC2540 and CC2541. If you are unsure whether to use CC2540 or CC2541, here are some points to consider: If you’re
CC2540与CC2541的区别
% compatible, as the BLE stack masks some minor differences in the radio interface. The latest version of the BLE stack has full support for both CC2540 and CC2541. If you are unsure whether to use CC2540 or CC2541, here are some points to consider: If you’re
蓝牙4.0BLE cc2540 cc2541 ios OAD教程(空中更新固件)[原创,多图]
分类: 蓝牙4.0 BLE CC2540 CC2541
1404人阅读
举报 cc2540 cc2540 cc2541 蓝牙4.0 iBeacon android 蓝牙
蓝牙4.0BLE cc2540 cc2541 ios OAD教程(空中更新固件) 为 阿莫单片机论坛
原创,只发布于csdn博客, 如需转载,请注明出处,谢谢!
如果需要蓝牙4.0BLE开发开发板和资料, 请看这里
链接地址 , 这里能提供基于cc2540或cc2541的蓝牙4.0BLE开发的详细硬件和软件资料, QQ群,
阿莫单片机论坛
提供技术, 更多项目实例介绍持续更新中。
项目终于快结项了,闲下时间重新掰回light blue 。 Light Blue中的ADVERTISEMENT DATA,的所有信息都定义在 advertData和scanRspData中,只是获取的方式不一样罢了,一个是在广播时获取,一个是得到的扫描信息。 在Light Blue扫描到外设时,会出现0 Server,1 Server 。。。
是因为advertData中的 添加服务项在advertData中
// length of this data
CC2541 BLE源码阅读知识积累之外设从机Peripheral工作模式。
);//当主机扫描到广播后会发出扫描请求,从机就发回该数据到主机
GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData );//广播参数
GAPRole_SetParameter( GAPROLE_PARAM_UPDATE_ENABLE, sizeof( uint8 ), &enable_update_request );
GAPRole_SetParameter
CC2541 BLE源码阅读知识积累之外设从机Peripheral工作模式。
( GAPROLE_ADVERT_OFF_TIME, sizeof( uint16 ), &gapRole_AdvertOffTime );
GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, sizeof ( scanRspData ), scanRspData );//当主机扫描到广播后会发出扫描请求,从机就发回该数据到主机
GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData
CC2541 BLE源码阅读知识积累之外设从机Peripheral工作模式
( GAPROLE_ADVERT_OFF_TIME, sizeof( uint16 ), &gapRole_AdvertOffTime );
GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, sizeof ( scanRspData ), scanRspData );//当主机扫描到广播后会发出扫描请求,从机就发回该数据到主机
GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData
CC2541 BLE源码阅读知识积累之外设从机Peripheral工作模式
( GAPROLE_ADVERT_OFF_TIME, sizeof( uint16 ), &gapRole_AdvertOffTime );
GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, sizeof ( scanRspData ), scanRspData );//当主机扫描到广播后会发出扫描请求,从机就发回该数据到主机
GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData
CC2541 BLE源码阅读知识积累之外设从机Peripheral工作模式
( GAPROLE_ADVERT_OFF_TIME, sizeof( uint16 ), &gapRole_AdvertOffTime );
GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, sizeof ( scanRspData ), scanRspData );//当主机扫描到广播后会发出扫描请求,从机就发回该数据到主机
GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData
CC2541 BLE源码阅读知识积累之外设从机Peripheral工作模式
), &initial_advertising_enable );
GAPRole_SetParameter( GAPROLE_ADVERT_OFF_TIME, sizeof( uint16 ), &gapRole_AdvertOffTime );
GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, sizeof ( scanRspData ), scanRspData );//当主机扫描到广播后会发出扫描请求,从机就发回该数据到主机
可穿戴设备(CC2541)上微信(1)
从去年开始接触 BLE,当时直接玩的是 CC2541,还好有人带,要不然真是撸死也撸不过,虽然还有很多东西比如透传、加解密之类的搞不懂,但是起码能和 APK 正常收发数据,最开始上的是京东的 APK,很蛋疼,京东的 APK 一点都不智能,也不傻瓜,但是好歹给的协议文档写的比较清楚,一步一步来就差不多可以了,最后案子挂了,也就没有做下去的动力了。。。
ps:案子挂了最讨厌了。。。白费功夫。。。
现在上面需要人上微信。。。BLE
TI BLE研究---- 蓝牙协议栈(GAP)
TI 出的CC2541和CC2540 同为BLE芯片,主要共同点是:
1.8051内核(现在的蓝牙IC中基本用M0 or M3,据说Ti和ST都在出M0内核的BLE芯片,估计今年年底会出来).
2. 8K sarm 和 128/256K flash。 区别是CC2541有IIC没有USB,而CC2540支持USB而不支持IIC,在功耗上CC2541比CC2540少30%(没有测试). CC254x的memory包含协议栈,上层应用。如下图
TI BLE研究---- 蓝牙协议栈(GAP)
TI 出的CC2541和CC2540 同为BLE芯片,主要共同点是:
1.8051内核(现在的蓝牙IC中基本用M0 or M3,据说Ti和ST都在出M0内核的BLE芯片,估计今年年底会出来).
2. 8K sarm 和 128/256K flash。 区别是CC2541有IIC没有USB,而CC2540支持USB而不支持IIC,在功耗上CC2541比CC2540少30%(没有测试). CC254x的memory包含协议栈,上层应用。如下图
数据,用来让 MCU 控制 Sensor,
或者把数据上传给手机 APK。 CC2640
也是 MCU +
BLE,但是它的 MCU 是 Cortex-M3,就比 51 高端多了,它的 BLE 单独使用 Cortex-M0,整体功耗更替低。 BLE 设备与各式各样的 APK 连接,其实根本上都是蓝牙 4.0 中的 BLE 协议,所以都是大同小异,主要也就是双方通讯的方式和具体的数据格式不一样。
上面对于 CC2541 或者 BLE 的理解全都是基于单片机的,说白了就是一个单片机有了阉割过的蓝牙功能,如果不继续向上走的话,永远也都是一个单片机工程师 版权声明:本文为博主原创文章,未经博主允许不得转载。
【BLE】CC2541与CC2540的区别
1)功耗:在同等的发射功率与接收功率上,CC2541有比CC2540更低的功耗。 2)外设:CC2541有IIC、无USB,CC2540无IIC、有USB。 3)价格:CC2541比CC2540更便宜。两款芯片都各自按淘宝销量排序来看,CC2541售价6.15元,而CC2540售价7.8元。 4)CC2541的特殊模式:CC2541有个特殊的proprietary mode(专有模式),而CC2540没有。详情请看datasheet的Chapter 25章节——CC2541 Proprietary Mode Radio。 版权声明:本文为博主原创文章,未经博主允许不得转载。
蓝牙BLE以太网网关在智能家居中的应用(基于W5500)
栈的传输层及网络层(如:TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE等协议),并集成了数据链路层,物理层,以及32K字节片上RAM作为数据收发缓存。不言而喻,W5500非常适合CC2541这种8051内核,而且片上资源不是很丰富的MCU,一切就这么愉快的决定了。 为了实现BLE通讯,我们需要使用两个CC2541模块,一个作为Central,另一个作为Peripheral;他们之间实现BLE通信,其中Peripheral作为门锁机构的控制,而Central则驱动
蓝牙BLE以太网网关在智能家居中的应用(基于W5500)
栈的传输层及网络层(如:TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE等协议),并集成了数据链路层,物理层,以及32K字节片上RAM作为数据收发缓存。不言而喻,W5500非常适合CC2541这种8051内核,而且片上资源不是很丰富的MCU,一切就这么愉快的决定了。 为了实现BLE通讯,我们需要使用两个CC2541模块,一个作为Central,另一个作为Peripheral;他们之间实现BLE通信,其中Peripheral作为门锁机构的控制,而Central则驱动
蓝牙4.0BLE 手机控制 cc2540 CC2541 的串口透传功能已实现
蓝牙4.0BLE 手机控制 cc2540 CC2541 的串口透传功能已实现
虽然蓝牙4.0 BLE芯片CC2540 是单芯片(即用户可以对它进行芯片级代码编写), 是8051增强型主控, 带蓝牙4.0功能, 但很多时候很多客户都只需要他的透传功能, 现在随着Android4.3 和IOS 的兴起, 支持蓝牙4.0BLE的手机越来越多,所以如何实现手机控制CC2540的透传是一个非常实用的功能,有了这个功能, 我们可以用手机来连接CC2540通过串口来连接的设备
& 2012 - 2016 &
&All Rights Reserved. &
/*爱悠闲图+*/
var cpro_id = "u1888441";5606人阅读
BLE-CC2541(61)
本篇博文最后修改时间:日,11:06。
本文以SimpleBLEPeripheral工程为例,介绍如何添加一个电池电量服务。
二、实验平台
协议栈版本:BLE-CC254x-1.4.0
编译软件: IAR 8.20.2
硬件平台: Smart RF开发板(主芯片CC2541)
手机平台: 红米1S
安卓系统: Android 4.3
APP: BLE Device Monitor
三、版权声明
博主:甜甜的大香瓜
声明:喝水不忘挖井人,转载请注明出处。
原文地址:http://blog.csdn/feilusia
联系方式:
香瓜BLE之CC2541群:
香瓜BLE之CC2640群:
香瓜BLE之Android群:
香瓜单片机之STM8/STM32群:
甜甜的大香瓜的小店(淘宝店):/?spm=0126.d21.hd2o8i
四、实验前提
1、在进行本文步骤前,请先阅读以下博文:
2、在进行本文步骤前,请先实现以下博文:
五、基础知识
1、电池电量服务是什么?
答:它是电池电量专用的服务,手机能通过这个服务获取到CC2541的电池电量。
2、为什么需要电池电量服务?
答:CC2541一般通过USB直接供电或纽扣电池供电。其中通过纽扣电池供电的方式,纽扣电池的电量使用情况是用户必须知道的数据。
否则手机与CC2541通信不成功,到底是CC2541死机了还是没电了,就说不清楚了。
3、通过什么方式获取电池电量?
方法一、通过内部的10bit的adc通道采集电池电量(最高位是符号位,所以实际是9bit精度)。
方法二、通过最高12bit的adc通道采集电池电量(最高位是符号位,所以实际是11bit精度)。
4、采集电池电量是如何计算的?
把CC2541的纽扣电池电压从2.0v~3.0v,当做电量的0%~100%。(香瓜猜测这么做是因为2~3V正好是CC2541的正常工作电压)
而CC2541的内部带符号的10bit的adc通道,量程范围为0~511,使用的参考电压为1.25v。
由于adc只有1.25v的参考电压,不能采集到2~3v的电压,因此我们把电池电压经过分压后采集,也就是采集1/3的电池电压,adc把2v/3~3v/3当做电压的0%~100%。
因此,由以上信息获得一个公式:(v/3)/ 1.25 &= adc/511
其中,v是电池的实际纽扣电池的电压,adc是2541采集到的数值。
当v= 2时,adc=273。也就是CC2541采集到的adc值为273时,电压值为2v,是0%的电量。
当v= 3时,adc=409。也就是CC2541采集到的adc值为409时,电压值为3v,是100%的电量。
假设2v~3v时的变化是线性的,则可得到下图:
其中上图的Xadc和percentage是当前读到的adc值和当前电量的百分比。
利用两个相似三角形的特性,可以得到公式:
Percentage / (X – 273) = 100 / 136
变换后为:
Percentage = (X - 273) * 25 / 34
由上式四舍五入提高计算精度则有:
Percentage = [(X - 273) * 25 + 33] / 34
5、实测外部电压2V时,对应为10%的电量,偏差太大怎么办?
1)实测2V、3V时的ADC值(假设测出2V对应为287、3V对应为425)。
2)修改宏定义(Battservice.c中)
// ADC voltage levels
#define BATT_ADC_LEVEL_3V
#define BATT_ADC_LEVEL_2V
五、实验步骤
1、确保项目中有hal_adc.c和hal_adc.h
2、在工程的PROFILES分类中添加battservice.c与battservice.h两个文件
两文件路径:C:\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\Profiles\Batt
3、IAR设置中添加俩路径
4、开启ADC的宏
5、添加电池服务的头文件(simpleBLEPeripheral.c中)
#include &battservice.h&
6、定义一个电池默认临界值的宏(simpleBLEPeripheral.c中)
#define DEFAULT_BATT_CRITICAL_LEVEL
定义为6,也就是电量低于6%时CC2541会主动notify通知主机电量过低。
7、添加初始化电池电量的代码(simpleBLEPeripheral.c的SimpleBLEPeripheral_Init()函数中)
void SimpleBLEPeripheral_Init( uint8 task_id )
simpleBLEPeripheral_TaskID = task_
//电池服务
uint8 critical = DEFAULT_BATT_CRITICAL_LEVEL;
Batt_SetParameter( BATT_PARAM_CRITICAL_LEVEL, sizeof (uint8 ), &critical );/* 设置默认临界电量 */
Batt_AddService();
/* 添加电池服务 */
Batt_Register(BattCB); /* 注册电池服务的应用回调函数 */
8、定义电池电量服务的回调函数(simpleBLEPeripheral.c中)
//******************************************************************************
//introduce:
电池电量服务的回调函数
//parameter:
event:事件
甜甜的大香瓜
//changetime:
//******************************************************************************
static void BattCB(uint8 event)
if (event == BATT_LEVEL_NOTI_ENABLED)
if (gapProfileState == GAPROLE_CONNECTED)
else if (event == BATT_LEVEL_NOTI_DISABLED)
回调函数的作用只是在开、关通知时告知应用层。
回调函数是在下面的情况被调用的:
9、声明电池电量服务的回调函数(simpleBLEPeripheral.c中)
static void BattCB(uint8 event);
10、添加一段周期监测电量的代码(simpleBLEPeripheral.c中)
static void performPeriodicTask( void )
if ( gapProfileState == GAPROLE_CONNECTED )
// perform battery level check
Batt_MeasLevel( );
}协议栈默认的周期事件是5S。也就是连接状态下,每5S会执行上面的代码去更新电量。
当电量小于我们设置的DEFAULT_BATT_CRITICAL_LEVEL(本篇设置为6)时,会在Batt_MeasLevel( )函数里主动notify告知主机。
七、注意事项
手机可能缓存了之前的代码(在更新过CC2541的代码之后,都需要清除手机端的缓存!!!),因此要清除缓存,清除缓存的方法如下:
方法一:关闭app、关闭蓝牙总开关、打开蓝牙总开关、打开app。
方法二:手机重启。
八、实验结果
1、仿真查看adc采集到的电量(用app连接时才会进行采集)
单步执行查看内部adc采集到的电源值为459
将adc=459,代入公式“(v/3)/ 1.25 &= adc/511”中,得到v=3.81
2、万用表测试开发板的电源电压
实测VCC=3.20V
3、用手机app查看电源电量百分比
由于暂时使用USB供电,所以实测电压在3.20V,大于3V的都算100%电量。
读出了默认&#,也就是电量100%。
因此,实验成功。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:366267次
积分:5179
积分:5179
排名:第5276名
原创:141篇
评论:209条
(1)(4)(3)(6)(15)(10)(11)(10)(13)(5)(1)(7)(3)(4)(5)(4)(3)(4)(15)(3)(14)查看: 2585|回复: 3
CC2541 Peripheral 如何切换广播可连接与不可连接模式?
我现在 用CC2541 作为蓝牙Peripheral
想实现如下功能,
刚启动的时候,CC2541处于广播模式,但是该模式是不可连接的,就是蓝牙手机能够扫描到它,但是连接不上,
当我按下一个按钮之后,调用某个函数,将广播模式,切换为广播可连接模式,
我用SimpleBLEPeripheral测试,设置广播类型为GAP_ADTYPE_ADV_NONCONN_IND,
会出现错误,不知道还需要修改那些地方?
哪位大侠给指点一下。
或者是广播模式处于GAP_ADTYPE_ADV_IND广播模式下,但是在Connect的地方,不响应连接请求。
大侠给指点一下修改那个函数
initial_advertising_enable 修改这个变量
您好,请问你的问题解决了吗,我遇到了和你一样的问题。谢谢。
您好,请问你的问题解决了吗,我遇到了和你一样的问题。谢谢。
你好,我最后用的方法是,当连接上的时候,就调用断开连接,这种方式。
阿莫电子论坛, 原"中国电子开发网"您是不是在找:
买家还在看:
当前位置:
TI CC2541蓝牙4.0微信ibeacon硬件深圳方案商
&20.5 - &23.8
detail3e达人选购¥3.20¥150.00¥8500.00¥28000.00¥150.00
detail3e周边优质供应商广东省深圳市山西省大同市广东省深圳市广东省深圳市
同参数产品
同参数产品
同参数产品
是否即插即用:
同参数产品
外接电源:
同参数产品
传输速率:
同参数产品
有效工作半径:
同参数产品
蓝牙标准:
同参数产品
工作频率:
同参数产品
慧聪网厂家深圳市智宝源电子科技有限公司为您提供TI CC2541蓝牙4.0微信ibeacon硬件深圳方案商的详细产品价格、产品图片等产品介绍信息,您可以直接联系厂家获取TI CC2541蓝牙4.0微信ibeacon硬件深圳方案商的具体资料,联系时请说明是在慧聪网看到的。
detail3e相关商品推荐¥3.20¥150.00¥8500.00¥28000.00¥150.00¥30000.00¥15.00¥6.99热门商品推荐 ¥3.20 ¥150.00 ¥8500.00 ¥28000.00 ¥150.00 ¥30000.00 ¥15.00 ¥6.99
detail3e店内热门商品¥6.00¥12.50¥9.00¥4.00
detail3e电子项目合作相关资源电子项目合作热门产品搜索电子项目合作相关热门专题更多&热门商机最新商机
提示:您在慧聪网上采购商品属于商业贸易行为。以上所展示的信息由卖家自行提供,内容的真实性、准确性和合法性由发布卖家负责,请意识到互联网交易中的风险是客观存在的。推荐使用,保障您的交易安全!
所在地:广东省&&
联系人:邓海强 & 先生
075 ******
185 ******
请供应商联系我
手机号不能为空
姓名不能为空
请供应商联系我
您对该公司的咨询信息已成功提交请注意接听供应商电话。
detail3e关于蓝牙
detail3e同类其他品牌
detail3e您是不是在找
您采购的产品:
请输入采购产品
您的手机号码:
请输入手机号码
*采购产品:
请输入采购产品
*采购数量:
请输入采购数量
*采购截止日期:
请输入正确的手机号码
请输入验证码
*短信验证码:
<input id="valid_Code1" maxlength="6" placeholder="请输入验证码" name="VALIDCODE" class="codeInput" onkeyup="this.value=this.value.replace(/\D/g,'')" onkeypress="if(event.keyCode
57) event.returnValue =" type="text">
免费获取验证码
为了安全,请输入验证码,我们将优先处理您的需求!
请输入验证码
发送成功!
慧聪已收到您的需求,我们会尽快通知卖家联系您,同时会派出采购专员1对1为您提供服务,请您耐心等待!
185 ******
联系人:邓海强&业务经理
公司名称:深圳市智宝源电子科技有限公司
备注:点击关注按钮后才可自动收到卖家电话
请输入正确的手机号码
请输入验证码
*短信验证码:
免费获取验证码
为了安全,请输入验证码,我们将优先处理您的需求!
请输入验证码
按字母分类 :CC2541 关于低功耗模式的睡眠时间 - 蓝牙Bluetooth 技术 - 德州仪器在线技术支持社区
CC2541 关于低功耗模式的睡眠时间
发表于2年前
<input type="hidden" id="hGroupID" value="42"
请问,我想让广播休眠一段时间后自己唤醒,设置POWER SAVING后,怎么样设置睡眠的时间,&/p>
&p>是&halSleep( uint32 osal_timeout )这个函数吗,但是没有效果呢。。。。&/p>&div style=&clear:&>&/div>" />
CC2541 关于低功耗模式的睡眠时间
此问题尚无答案
All Replies
请问,我想让广播休眠一段时间后自己唤醒,设置POWER SAVING后,怎么样设置睡眠的时间,
是&halSleep( uint32 osal_timeout )这个函数吗,但是没有效果呢。。。。
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
探花5816分
osal_start_tinerEX函数不行么?
我是学习者,不是德州仪器的 ,以免误导
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
我是说PM2的睡眠时间,这个只是个设置事件周期的函数吧
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
探花5816分
不知道您的具体应用
貌似如果您使用协议栈提供的OASL源码,并且设置了POWER_SAVING的话
OASL会自动检查有无活动,如果后面有比较长的时间无活动的话会自动判断进入PM2,如果有较短时间无活动,也会自动判断进入PM0(PM1?忘了,应该 也可以设置)
这种情况是不是也可以适用于您的应用?只要设定一定时间后重复进行广播就可以了,其它系统会自动管理判断进入相应的最合适的低功耗模式的吧?
如果这样说的对,如果还是功耗较大,可能是否先看看有无其它外围设备在工作引起的?例如IO口
我是学习者,不是德州仪器的 ,以免误导
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
探花5816分
void osal_run_system( void )
uint8 idx = 0;
#ifndef HAL_BOARD_CC2538
osalTimeUpdate();
Hal_ProcessPoll();
if (tasksEvents[idx])
// Task is highest priority that is ready.
} while (++idx & tasksCnt);
if (idx & tasksCnt)
halIntState_t intS
HAL_ENTER_CRITICAL_SECTION(intState);
events = tasksEvents[idx];
tasksEvents[idx] = 0;
// Clear the Events for this task.
HAL_EXIT_CRITICAL_SECTION(intState);
activeTaskID =
events = (tasksArr[idx])( idx, events );
activeTaskID = TASK_NO_TASK;
HAL_ENTER_CRITICAL_SECTION(intState);
tasksEvents[idx] |=
// Add back unprocessed events to the current task.
HAL_EXIT_CRITICAL_SECTION(intState);
#if defined( POWER_SAVING ) else // Complete pass through all task events with no activity? { osal_pwrmgr_powerconserve(); // Put the processor/system into sleep } #endif
/* Yield in case cooperative scheduling is being used. */
#if defined (configUSE_PREEMPTION) && (configUSE_PREEMPTION == 0)
osal_task_yield();
带颜色的是不是已经处理了?不需要你自己使用&halSleep( uint32 osal_timeout )这个函数了,查看osal_pwrmgr_powerconserve()这个函数,里面也有调用&halSleep( uint32 osal_timeout )这个函数的(不知道是否记错)
我是学习者,不是德州仪器的 ,以免误导
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
wang 您好,
我想做一个蓝牙气象站,隔几分钟广播一次,我看了osal_pwrmgr_powerconserve();这个函数,好像是不断的进睡眠后又退出,以一个灯的亮灭作为标志,不明白为什么进去后马上就退出睡眠了,设置的I2C每隔10秒通信一次,但是灯却是一直亮灭不停,不明白睡眠在哪里。。。
望指教!!
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
是不是要看任务内有无定时事件啊,也再研究这块,还没找到突破点,互相交流啊
You have posted to a forum that requires a moderator to approve posts before they are publicly available.

我要回帖

更多关于 获取电池电量 的文章

 

随机推荐