首页 > 其他分享 >【WCH蓝牙系列芯片】-基于CH582开发板—蓝牙主机睡眠模式,串口唤醒收发数据

【WCH蓝牙系列芯片】-基于CH582开发板—蓝牙主机睡眠模式,串口唤醒收发数据

时间:2024-03-13 15:49:03浏览次数:17  
标签:睡眠 芯片 蓝牙 开发板 收发 串口 唤醒

-------------------------------------------------------------------------------------------------------------------------------------

    在使用蓝牙主机的时候,有时需要通过宏定义开启睡眠模式,从而达到降低芯片的功耗。蓝牙的睡眠是由协议栈自行管理的,在芯片睡眠状态下是无法进行数据收发,需要将芯片唤醒之后,才能进行数据收发。
    蓝牙芯片的sleep/shut down模式仅支持IO和RTC唤醒,如果想要在芯片睡眠模式下,由串口进行收发数据,就得在接收之前将串口切换为普通的GPIO口, 当有数据过来时,串口的GPIO口会产生由高电平到低电平的信号,将这个电平变化的信号作为触发GPIO中断的判断,从而唤醒芯片。
    在触发GPIO中断里置一个标志位,通过这个标志位在uint32_t CH58X_LowPower(uint32_t time)函数中退出睡眠,这样串口能够收发数据,接收完成后将串口再切换为普通的GPIO,等待下一次的数据到来进行唤醒,接收数据。
在主机程序中,添加PB4和PB7的串口0 的初始化,并添加PB4和PB7的GPIO的外部中断初始化,在中断函数中,定义一个标志位。

 

在SLEEP.C中,通过判断标志位return 0退出睡眠进行唤醒

 唤醒后,切换为串口中断初始化。

    当串口发送数据时,会睡眠唤醒,一直处于醒着的状态,可以一直串口收发数据;将串口读取出的数据,通过串口再发送出去。
在串口中断中添加检查是否匹配目标字节序列的措施,这样可以通过串口发送特定的数据,对应不同的标志位结束串口操作,进入睡眠模式。
这里设置退出的串口字符串“*****”。

 在蓝牙主机中,通过一个TMOS的任务,以一秒的循环去判断进入睡眠的条件

 通过串口观察,休眠的状态和串口收发的状态

    串口在发送第一包数据时,由于是需要唤醒,所以会是乱码或者是丢包的数据,从第二包开始就会正常的收发数据,通过发送结束串口的收发标志,打印数据可以看出打印的信息,进入睡眠的标志。

标签:睡眠,芯片,蓝牙,开发板,收发,串口,唤醒
From: https://www.cnblogs.com/ZYL-FS/p/18070752

相关文章

  • 项目分享|基于ELF 1开发板的远程监测及人脸识别项目
    今天非常荣幸地向各位小伙伴分享一个由共创社成员完成的远程监测及人脸识别项目,该项目依托ELF1开发板为核心硬件平台,构建了一套完整的视频监控系统,并在此基础上集成了人脸识别功能。接下来,就为各位小伙伴详尽展示这一项目的相关细节。项目实现步骤1.视频监控这一步骤中需......
  • KTH1601与无线蓝牙耳机:让音乐与科技无缝连接
    在数字时代,无线蓝牙耳机因其便捷和高质的音质成为了音乐爱好者的首选。而随着技术的不断进步,现在的无线蓝牙耳机不仅仅是一个简单的音频播放设备,它还能通过智能感应技术,实现更为人性化的操作体验。 苹果AirPods耳机的创新翻盖触发设计, 堪称工业设计经典(图片来源苹果......
  • 【蓝牙协议栈】【Mesh】蓝牙Mesh基本概念(超详细)
    1.精讲蓝牙协议栈(BluetoothStack):SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论2.欢迎大家关注和订阅,【蓝牙协议栈】专栏会持续更新中.....敬请期待!目录1.蓝牙Mesh概念2.Mesh的配网和配置过程3.蓝牙mesh的运行原理与数据包4.网络层......
  • 躲不掉的技术话题:蓝牙
    目录一、蓝牙技术的应用领域二、学习蓝牙技术的原因三、蓝牙核心技术点罗列一、蓝牙技术的应用领域蓝牙技术是一种无线通信技术,广泛应用于各个领域。以下是蓝牙技术的一些主要应用领域:二、学习蓝牙技术的原因嵌入式软件工程师学习蓝牙相关技术的原因有以下几点:三、......
  • OMAP-L138 + FPGA开发板(Pin-To-Pin国产FPGA)
    XQ138F-EVM是广州星嵌电子科技有限公司基于TIOMAP-L138(定点/浮点DSPC674x+ARM9)+FPGA处理器研制的开发板;OMAP-L138选用TI德州仪器的TMS320C6748+ARM926EJ-S异构双核处理器,主频456MHz,高达3648MIPS和2746MFLOPS的运算能力;FPGA采用中科亿海微eHiChip6家族EQ6......
  • 蓝牙入门资料
    蓝牙分类蓝牙协议包括两种技术:经典蓝牙(简称BT)和低功耗蓝牙(简称BLE)。这两种技术,都包括搜索(discovery)管理、连接(connection)管理等机制,但它们是不能互通的!因此在硬件模组上又有单模蓝牙和双模蓝牙的区别。在智能手机中的蓝牙就是双模蓝牙,它可以支持经典蓝牙和低功耗蓝牙。双模蓝牙......
  • WIFI&蓝牙(ESP32)转CAN总线&串口TTL模块-C1-设备作为Modbus Slave实现RS485 Modbus RT
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/ESP32_CAN"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> 说明这节测试的是让设备作为Modbus......
  • 11. 串口通信
    一、串口通信简介  串口通信是一种设备间常用的串行通信方式,串口按位(bit)发送和接收字节。串口通信的数据包由发送设备的TXD接口传输到接收设备的RXD接口。在串口通信的协议层中,规定了数据包的内容,它由起始位、主体数据、校验位以及停止位组成,通讯双方的数据包格式要约......
  • 【WCH蓝牙系列芯片】-基于CH582开发板—蓝牙MTU
    -------------------------------------------------------------------------------------------------------------------------------------MTU是指最大传输单元,在一个传输单元中的有效传输数据,够传输的最大数据量(多少字节可以一次性传输到对方)。一、主机在主机中,如果想要......
  • 常用开发板引脚引出详解
    esp32/8266/01s/arduino/(STM32有cubemx,就不重复搞了)esp32-s3 arduinonanoPinout-NANO_latest在Arduino上,ADC具有10位分辨率,这意味着它可以通过1,024个数字电平表示模拟电压。ADC将电压转换成微处理器可以理解的位。ICSP表示在线串行编程。该名称源自在系统编程(ISP)。......