【经验】在蓝牙SOC EFR32BG的蓝牙项目中外部中断的处理
SILICON LABS 蓝牙SOC EFR32BG系列芯片兼容蓝牙5、蓝牙5.1和蓝牙MESH规范,集成BALUN和PA,具有出色的接收灵敏度和发射功率。芯片还有多种低能耗模式,芯片较适合低功耗蓝牙或蓝牙MESH的应用中。
蓝牙项目程序的核心是一个主循环,而且因为蓝牙任务都是时间要求比较严格的任务,所以要及时处理蓝牙事件。当项目中需要处理外部中断事件时,如何处理外部中断事件与蓝牙事件的关系是工程师必须要解决的一个问题。
当外部中断需要处理的不是一个简单的任务时,则可以考虑在中断服务程序中设置全局变量,再由主循环进行处理。当然最优的解决方法是由中断程序调用gecko_exteranl_signal()函数,这个函数会将新的system_external_signal事件添加到蓝牙事件队列中,然后,在主循环中会收到system_exteranl_signal事件,并在这个事件中执行中断需要触发处理的事务。
程序在处理外部中断功能时,先对GPIO的外部中断及相关的回调函数进行设置,这些可以在进入主循环前处理,程序部分可以参考以下处理Button的一段程序:
GPIOINT_Init() //函数初始化GPIO中断分配
GPIO_PinModeSet(button_port,button_pin,gpioModeInput,1);//设置对应的GPIO引脚为输入模式
GPIO_ExtIntConfig(button_port,button_pin,button_pin,true,true,true);//配置对应引脚为外部中断引脚,设置外部中断号及使能上升沿、下降沿中断及使能外部中断
GPIOINT_CallbackRegister(button_pin,button_press_release_callback);//注册回调函数,在外部中断事件发生后会直接调用这个回调函数
回调函数如下:
Void button_press_release_callback(uint8_t pin)
{
Gecko_external_signal(1);
}
为了区分中断源, gecko_external_signal() 传递了32位的位字段。在不同的中断处理程序中设置不同的位,这样可以在主循环中检查触发了哪个中断。
在主循环中接下来按如下的方式处理外部中断事件:
evt = gecko_wait_event();
switch (BGLIB_MSG_ID(evt->header)) {
case gecko_evt_system_external_signal_id:
printf(“\r\n Got signal #%X\r\n,evt->data.evt_system_external_signal.extsignals);
break;
}
这里只是给了一个打印函数,正常的项目中需要在这里处理外部中断触发的事务。
另外,我们也可以看到gecko_external_signal()传递的是32位的位字段,也就是最多可以传递32个事件给蓝牙协议栈,而且不只是外部中断事件可以调用gecko_external_signal()函数,像定时中断、UART中断等都可以传递外部事件给蓝牙协议栈,最后由蓝牙协议栈统一调试处理事务,整个项目中协议栈与应用程序的调度就如下图:
这样即不影响蓝牙协议栈与外部中断等事务的处理就不会产生相互的影响了。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由John提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】低功耗蓝牙SoC EFR32BG22系列如何从软硬件两方面实现低功耗设计?
EFR32BG22是Silicon Labs公司主打的低功耗蓝牙SoC系列,对于新手工程师来说,如何控制好功耗,以延长电池类产品的寿命,有很多需要关注的地方。本文将从硬件和代码底层两方面分析SoC低功耗实现的关键点。
【经验】EFR32BG22系列蓝牙SOC电池电压与VDD供电电压检测ADC的方法
EFR32BG22作为低功耗蓝牙SOC方案,经常应用于电池供电的方案中,一般采用内部的ADC作为采集通道,内部的输入源作为输入接口,来测试VDD供电电压。本文将讲解电池电压与VDD供电电压检测ADC的方法。
【经验】EFR32BG系列蓝牙SoC之低功耗测试操作指导
很多的蓝牙设备都是电池供电的,因此对蓝牙SoC功耗水平测试与评估就非常有必要。Silicon Labs公司提供的蓝牙评估板底板,都带有电流功耗测试功能,搭配Simplicity studio v4开发平台的energy profile功耗测试上位机,非常容易测试出EFR32BG系列蓝牙SoC的功耗水平。我们详细介绍功耗测试需要的软件和硬件以及测试操作。本文就将具体进行说明。
Silicon Labs EFR32BG27蓝牙SoC用在CGM中,支持3v或1.5v电池供电,可做到21天超长续航时间
EFR32BG27蓝牙SoC由世界知名半导体厂商Silicon Labs推出,基于ARM Cortex-M33处理器内核,拥有超低功耗、超小体积和超大资源等优势,成为了CGM设备的理想选择。
芯科科技EFR32BG27蓝牙SoC助力持续性血糖监测CGM设备长达21天续航时间
在当今医疗领域,持续性血糖监测(CGM)成为人们关注的焦点,特别是对于糖尿病患者而言,实时了解血糖水平变化对于治疗和生活质量的提升具有举足轻重的意义。Silicon Labs提供的极小型、超低功耗EFR32BG27(BG27)蓝牙SoC在CGM中的应用显得尤为突出。本文将详细介绍BG27蓝牙SoC在CGM中的应用及其突出特点。
BG24蓝牙SoC具备低功耗、小型化等特性,为CoreHW提供蓝牙RTLS的先进解决方案
Silicon Labs(亦称“芯科科技”)的BG24蓝牙SoC具备低功耗、小型化等特性,并支持蓝牙定位技术包括蓝牙到达角(AoA)和蓝牙信道探测(Channel Sounding),为CoreHW公司提供了最先进的实时定位服务(RTLS) 解决方案,以开发出创新的CoreTag和CoreLocator定位应用产品。
低功耗蓝牙SOC技术解析:性能与功耗的完美平衡
低功耗蓝牙(Bluetooth Low Energy,BLE)SOC(System on a Chip)是近年来无线通信技术领域的一大创新。这种技术不仅功耗低,而且传输效率高,广泛应用于智能家居、智能穿戴、物联网等领域。目前市场上有多家知名的低功耗蓝牙SOC品牌,它们各自具有独特的技术特点和市场定位。
【经验】芯科科技EFR32BG22系列蓝牙SOC低功耗优化的相关配置
本文主要介绍Silicon Labs(芯科科技)EFR32BG22系列蓝牙SOC目前所有的低功耗优化的相关配置,实现目标: VDD=3V,VSCALE0=0.9V,温度25℃,EM2模式下深度休眠为1.4μA。
低功耗蓝牙SOC:如何实现高效能与低功耗的完美平衡?
低功耗蓝牙SOC是物联网和可穿戴设备领域的关键技术之一。它凭借低功耗、高集成度、兼容性和扩展性等优点,正在推动这两个领域的快速发展。未来,随着技术的不断进步和市场需求的不断变化,低功耗蓝牙SOC将会迎来更多的发展机遇和挑战。
洞悉标准化蓝牙ESL应用潜力,芯科科技全系列低功耗、高性能蓝牙SoC和模块现已支持最新蓝牙5.4版本
随着蓝牙标准的推陈出新,Silicon Labs(亦称“芯科科技”)也持续升级蓝牙解决方案,全系列低功耗、高性能蓝牙SoC和模块现已支持最新蓝牙5.4版本,以满足开发人员的需求。
【经验】Silicon Labs低功耗蓝牙SoC EFR32BG22如何通过GPIO唤醒UART通信
SiliconLabs的低功耗蓝牙SoC EFR32BG22系列芯片以极低的功耗和相对低廉的价格,达到了性价比的极致。目前大家开发EFR32BG22,大部分都会使其工作在休眠状态,一般会先用一个GPIO唤醒EFR32BG22,通过一定的条件使EFR32BG22停止休眠,再去串口通信,通信完成后,再进入休眠这样的流程。本文介绍下如何使用Silicon Labs的Bluetooth SDK实现该功能。
芯科科技BG2x系列蓝牙SoC引领可穿戴设备创新,打造AI健康生活新纪元
随着人们对个人健康和智能生活的追求不断升温,可穿戴设备市场呈现出蓬勃发展的态势。在这个充满机遇与挑战的领域,Silicon Labs(亦称“芯科科技”)凭借其深厚的技术积累和敏锐的市场洞察,成为了行业的佼佼者。近日,芯科科技的家居和生活业务部可穿戴和生活业务经理Pranay Dixit参与了EEPW电子产品世界的访谈,就可穿戴设备市场的现状、公司战略以及技术创新等方面进行了深入探讨。
【技术】蓝牙5与蓝牙MESH,增加蓝牙传输距离并将蓝牙设备进行组网通讯
Silicon Labs公司作为世界顶级的物联网芯片、软件、解决方案供应商,推出支持蓝牙5.0的SOC芯片EFR32BG系列和通过认证、集成天线、远距离传输、小封装的蓝牙模块BGM系列。Silicon Labs公公司针对蓝牙产品,提供整套完善的开发工具,蓝牙Mesh网络开发包,例程和手机APP代码。运用Silicon Labs公司提供的丰富资源,可以提高设计产品的稳定性,加快上市时间。
【经验】低功耗蓝牙SoC芯片EFR32BG系列的UART串口通信参考代码与解析
EFR32BG是Silicon Labs公司的高性能低功耗蓝牙SoC芯片。支持蓝牙5.0、5.1协议和蓝牙Mesh协议,发射电流3.5mA@0dbm,接收电流仅有2.6mA。广泛用于智能门锁,蓝牙门禁系统,照明系统,智能家居;在开发EFR32BG蓝牙SoC的代码过程中,经常需要用到uart通信,本文详细介绍如何找到参考代码以及代码解析。
【IC】芯科科技新品BG26蓝牙SoC小而美,RAM数据内存高达256kB,适用于智能家居和便携式医疗设备
芯科科技EFR32BG26(BG26)蓝牙SoC是使用低功耗蓝牙和蓝牙网状网络实现物联网无线连接的理想选择,其小型化的封装尺寸,再加上升级的存储容量和丰富的功能,将是智能家居、照明和便携式医疗产品的理想解决方案。
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 103,128
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
可定制弹簧天线频率范围:470MHz、315MHz、433MHz、868MHz、915MHz、490MHz、2.4GHz、GPRS、3G、蓝牙;增益:0~5dBi;电压驻波比V.S.W.R:≤2;天线尺寸不限。
最小起订量: 1000 提交需求>
可定制胶棒天线频率范围包括GSM/GRPS/2G/3G/5G/2.4G/5G/5.8GHZ/WIFI/蓝牙、LoRa、433/470/315/868/915Mhz/NB等;增益:0~15dBi;天线尺寸、接口连接器可按需定制。
最小起订量: 1000 提交需求>
登录 | 立即注册
提交评论