摘要:
外设相关: CH59x 系统16位PWM使用 - 小舟从此逝_1 - 博客园 (cnblogs.com) CH59X/CH58X/CH57X PWM使用 - 小舟从此逝_1 - 博客园 (cnblogs.com) 基于CH592x的硬件I2C驱动(AHT20)调试记录 - 小舟从此逝_1 - 博客园 阅读全文
摘要:
前言:有时在电池供电场景或者电表的场景下可能会出现电池电压低需要更换电池突然停电需要保存数据。此时低电压监测就起到了作用。 提供了两种精度模式:高精度监控和低精度监控模式 高精度模式:210ua的额外功耗 低精度模式:1ua的额外功耗 /** * @brief wakeup mode define 阅读全文
摘要:
前言:芯片提供了AES-128加密(ECB模式) 如需要了解AES加解密的原理可以参考本链接:AES128加解密流程详细介绍_aes128加密-CSDN博客 本实例,在CH592上完成。 加解密的函数定义在blelib.h里在使用是需要将这个库也初始化。 先在lib.h里找到接下来需要使用的函数: 阅读全文
摘要:
一、前言 在有些时候产品需要做到更远的距离在原来的基础上加上PA放大芯片来实现广播或者连接距离上的提升。 PA是Power Amplifier的简称,中文名称为功率放大器,简称“功放”,指在给定失真率条件下,能产生最大功率输出以驱动某一负载的放大器。对于射频通信系统,PA负责发射通道的信号放大,实现 阅读全文
摘要:
一、关于MTU 在通信过程中需要发送或者接收较长字节的数据,就需要引入MTU的概念: 最大传输单元MTU(Maximum Transmission Unit,MTU),是指网络能够传输的最大数据包大小,以字节为单位。MTU的大小决定了发送端一次能够发送报文的最大字节数。如果MTU超过了接收端所能够承 阅读全文
摘要:
前言:在做某些应用的时候可能需要我们发送或者接收时切换对应的channel。 此次完成测试的平台在WCH的CH592F上完成的。 在工作发送过程中切换37、38、39三个信道进行轮询发送。具体需要使用最关键的函数是:RF_SetChannel 实现代码如下: if(events & channl_3 阅读全文
摘要:
前言: BLE属性的分类(四大类): Primary Service(首要服务项)Secondary Service(次要服务项)Include(包含服务项)Characteristic(特征) 本次主要对属性权限的使用进行描述: 先看协议 Attribute permissions are a c 阅读全文
摘要:
前言:之前的文章中也有关于使用I2C器件进行温度的采集的文章 采集温度的方式不止使用传感器,也可以使用NTC温敏电阻进行采集,此方法的外围电路较为简单且成本较低,代码也较为容易实现。 实现原理:先通过差分采样电路进行采集,采集之后可以获取NTC或者定值电阻的电压;已知这些信息可以通过欧姆定律得到当前 阅读全文
摘要:
有时需要通过主机设备(MCU非手机)获取从设备的广播信息例如广播包,MAC地址,扫描应答包等 以下的程序片段及功能实现是在WCH的CH59X的observer例程上实现的; 1、获取广播包 所有的函数在库函数中都可以找到,具体实现函数如下: case GAP_DEVICE_INFO_EVENT: { 阅读全文
摘要:
目前提供了两种OTA升级方式, 方式一:带库升级;每次升级可以带着库一起进行升级(带库升级适用于flash较大的芯片) 方式二:固定库升级;升级时库不会随着升级而升级(适用于flash不够用时) 方式一: 升级时需要同时烧录这三个固件:(可以使用isp工具同时烧录也可以使用合并工具将三个工程合并后再 阅读全文
摘要:
本文对经常使用一些功能进行简要的总结; 1、BLE主从机主动交互MTU (1)主机(MCU诸如CH592 CH582)主动与从机发起MTU交互 (2)从机发起交互 2、SLEEP模式下的ADC采集 3、使用外部32M代替外部32.768k 如果这样使用就无法再做低功耗 4、加PA放大操作 如果加了p 阅读全文