- 博客(73)
- 资源 (2)
- 收藏
- 关注
原创 Telink 搜集的资料
泰凌微TLSR825X开发二 GPIO常用配置与中断休眠唤醒B80 BLE单连接SDK - Telink Documents
2025-07-24 10:20:48
392
原创 Telink BLE LinkLayer Event Type
设置 BLT_EV_FLAG_SUSPEND_ENTER 是进入低功耗前的事件处理;设置BLT_EV_FLAG_SUSPEND_EXIT 是退出低功耗后的事件处理;
2025-07-22 14:46:13
271
原创 Silicon EFR32xG22 Letimer
低功耗定时器 (LETIMER) 外设 API。该模块包含控制 Silicon Labs 32 位 MCU 和 SoC 的 LETIMER 外设的功能。LETIMER是一个下行计数器,可以跟踪时间并输出可配置的波形。重复模式计数直到被 SW 停止。计算 REP0 次。对REP0进行计数,如果REP1已写入,则当REP0即将递减为0时,将其加载到REP0中。只要 REP0 和 REP1 都不是 0 就运行。输出下溢没有输出作。计数器下溢时切换输出。当计数器下溢时,保持输出一个 LETIMER 时钟周期。
2025-07-22 11:24:15
678
原创 Telink BLE 低功耗学习
低功耗管理(Low Power Management)也可以称为功耗管理(Power Management),本⽂档中会简称为PM。
2025-07-21 17:34:12
637
原创 Telink BLE 内部RC时钟 32khz
SDK ⽀持使⽤MCU 内部32k RC 振荡电路(简称32k RC) 或者外部32k RC 振荡电路(简称32k Pad)。使⽤32k RC 时,由于误差⽐较⼤,所以对于suspend 或者deep retention 时间较⻓的应⽤,其时间准确性会差⼀些。⽬前32k RC 默认⽀持的。,⼀旦超过这个时间,ble_timing 会出错,造成收包时间点不准确,容易出现收发包retry,功耗增⼤,甚⾄出现断连。⽽使⽤32k Pad 时,误差则会⼩很多。使用这个32khz的内部RC去做一个精度不高的计时器。
2025-07-18 16:10:34
198
原创 Telink BLE 低电压检测
电池电量检测(battery power detect/check),在Telink BLE SDK 和相关⽂档中也可能出现其他的名字,包括:电池电量检测(battery power detect/check)、低电池检测(low battery detect/check)、低电量检测(low power detect/check)、电池检查(battery detect/check)等。
2025-07-18 15:54:53
581
原创 免费的一些工具收集
项目首页 - EllisysBluetoothAnalyzer5.0.7676.23096资源文件下载:本仓库提供Ellisys Bluetooth Analyzer 5.0.7676.23096.zip资源文件的下载。该资源文件是配合蓝牙分析仪器Ellisys Bluetooth Explorer使用的PC软件工具,能够同时捕获蓝牙双模(BR/EDR BLE)、Wi-Fi 2x2 802.11 a/b/g/n、2.4 GHz频谱、HCI(USB,UART,SPI)、WCI-2 Logic Audio I2
2025-07-18 10:04:48
105
原创 Telink BLE GPIO
将GPIO模拟Uart的Tx口,替换成GPIO_PB1,通过上面的代码就初始化好了tx口的pin脚,(GPIO_PB1为发送TX的接口)(使用场景SWS pin脚,在烧录完成后,转换pin脚功能,使用它作为GPIO模拟发送Tx)telink的GPIO模拟uart是可以在低功耗的条件下工作的,所以建议低功耗应用使用。对了要记得,去修改putc的GPIO模拟uart的发送pin脚,这样才能真正修改完成。配置成普通IO还是复用高级功能(uart、spi、iic等)函数。读取pin脚信息函数。
2025-07-16 18:16:21
313
原创 嵌入式加密
ECDH(Elliptic Curve Diffie-Hellman)是一种基于椭圆曲线密码学(ECC)的密钥交换协议,用于在不安全的通信信道上安全协商出一个共享密钥(Shared Secret)。该密钥可用于后续的对称加密(如 AES),从而保证通信的机密性。ECDH本身仅用于密钥交换,不直接加密数据。通常结合对称加密(如 AES)使用;Mbedtls中常用曲线:secp256r1(NIST P-256)、secp384r1、secp521r1。通过 MBEDTLS_ECP_DP_XXX 指定。
2025-07-15 16:07:32
864
原创 srand()和rand()
srand()是 C/C++ 标准库中的一个函数,用于为伪随机数生成器 (rand()) 设置种子值。它定义在<stdlib.h>(C) 或<cstdlib>(C++) 头文件中。
2025-07-11 14:32:26
209
原创 silicon EFR32xG22 低功耗介绍
IADC和无线电等外设能够暂时将组件从EM2或EM3唤醒到EM1,以便传输数据。如果无线电正在传输数据或如果闪存正在编程或擦除,核心将被阻止进入EM2或EM3。对于每种能量模式,系统通常会默认为其最低功耗配置,非必要的时钟和外设将被禁用。EM3在这种低能量模式下,所有低频振荡器(LFXO、LFRCO)和由它们衍生的所有低频时钟以及所有高频时钟都停止。EM4:是shutoff,最低功耗模式,只有低功耗时钟,射频OOK检测,GPIO等工作。这个工程在使用广播扫描的时候,它会自动进入低功耗的模式;
2025-07-07 18:34:29
583
原创 Telink BLE GATT & ATT的代码编写理解
BLE GATT服务架构解析 摘要:本文详细阐述了BLE GATT(通用属性配置文件)的服务架构实现。GATT定义了Server和Client两种角色,其中Server由多个service组成,每个service由若干Attribute构成。每个Attribute包含UUID(2字节或16字节)、Handle(用于唯一标识)、Value(数据内容)和权限控制等要素。文章重点介绍了AttributeTable的数据结构设计,包括属性类型、权限设置、UUID处理、回调机制等核心组件,并说明了如何通过Attrib
2025-07-03 11:22:47
667
原创 Telink BLE Flash擦除和BLE连接的冲突
本文介绍了FLASH存储的基本操作和注意事项。FLASH以4KB sector为基本单位进行擦除操作,不同类型信息需要存储在不同sector。512K/1M FLASH的地址分配方案中,MAC地址存储在特定sector的固定位置。文章详细说明了flash_read_page、flash_write_page和flash_erase_sector等API的使用方法,重点强调了写操作不能跨越256B的page边界,且每次最多写入16B以避免影响BLE通信。针对FLASH操作与BLE时序的冲突问题,提供了保护机制
2025-07-01 10:26:02
549
原创 FreeRTOS + CMSIS-RTOS v2
线程属性(如栈大小、优先级、名称等),如果为。:队列属性(如名称、自定义内存等),如果为。:队列能存储的最大消息数量。:每个消息的大小(字节)。,则使用动态内存分配。:传递给任务的参数(
2025-06-06 16:40:03
456
原创 Silicon EFR32xG22 错误问题和解决办法汇总
解决无法连接调试器问题的方法:确保调试访问权限已解锁。遇到"Could not connect to target device"错误时,只需点击解锁debug访问选项即可恢复调试功能。该操作简单快捷,适用于大多数调试连接失败的情况。
2025-06-05 17:50:30
152
原创 Simplicity studio SDK下载和安装,创建工程
哦对了,记得要在这个过程中,必须登录账号,使用你当时下载SDK时,使用的账号就可以。5是目标板,就是芯片板子的型号EFR32BG22XXXXX型号,根据自己的板子选择。第一个打开usart 和 log的两个配置,那你的调试串口就可以使用了。在红色2处,进行选择安装的包,第3个是安装好就有了安装的内容。这个就使用你自己的邮箱注册一个就可以了,我是用的公司邮箱注册的。6是你使用的SDK的,这个需要在github上下载。更新sdk,安装工具install,点击红色1处。github上,下载比较慢,会很耗时间。
2025-06-05 17:34:14
1078
2
原创 Silicon EFR32xG22
支持多种AES操作模式,包括Counter (CTR)、Electronic CodeBook (ECB)、Cipher Block chains (CBC)、Counter mode with CBC- mac (CCM)和Cipher-based Message Authentication Code (CMAC)。加速SHA-1和SHA-2 (SHA-224 / SHA-256)1个32位和4个16位定时器/计数器(定时器)2个通用同步/异步接收/发送器(USART)
2025-06-05 17:16:30
679
原创 vscode 离线安装第三方库跳转库
【摘要】针对离线环境下的C++开发需求,"cpptools-win32.vsix"插件为VSCode提供了代码跳转和补全功能。安装时需在VSCode的Extensions中选择"Install from VSIX",导入下载好的插件文件即可。该插件自动实现函数/变量定位和智能补全,无需网络连接,有效提升开发效率。安装后重启VSCode即可使用,经测试跳转功能运行正常。(98字)
2025-06-05 15:11:49
511
原创 python Pip安装第三方库(py.2.3都通用)
在下这厢有礼了首先安装python3.7.1python软件资源百度云盘https://pan.baidu.com/s/1w9wTXaWZ0YOtLkXoTT9wdA 密码:lfvs软件给你你会安装么(我不教安装,那个太难)。在我的电脑添加python路径我是用的是window 10系统安装pip安装第三方库第一步:cmd第二步:找到你安装的python路径上...
2019-08-27 22:21:20
598
1
原创 python bin文件处理
python bin文件处理小记在下这厢有礼了文章目录python bin文件处理小记软件准备bin文件读取bin文件写入bin文件的大小端写入bin文件的写0bin文件的写1bin文件的合并bin文件写入字符串软件准备python 版本 Python 3.7.1大概花费时间:3天半抽空学习的知识分享bin文件查看器:https://pan.baidu.com/s/1_XebNTlh0...
2019-07-11 23:36:11
30439
2
原创 python使用Tkinter库制作文件和文件夹创建功能
python使用Tkinter库制作文件和文件夹创建功能在下这厢有礼了文章目录python使用Tkinter库制作文件和文件夹创建功能第一节 学习Tkinter库第二节 开始有目的的做东西第三节 代码设计第四节 优化代码让看起来像个程序员写的第一节 学习Tkinter库python 版本 Python 3.7.1 Tkinter是自带的库大概花费时间:一周左右,抽空学习的知识分享。网...
2019-06-09 18:24:41
3229
原创 蓝牙协议5.1 新增协议
在下这厢有礼了Change from 5.0 to 5.1版本时间5.12019-01-215.02016-12-06文章目录Change from 5.0 to 5.1New features1. Angle of Arrival (AoA) and Angle of Departure (AoD)2. Advertising Channel Ind...
2019-05-25 01:01:52
8590
转载 蓝牙 4.0 ATT属性协议
转自:https://mp.weixin.qq.com/s?__biz=MjM5MzM4MDM3Mw%3D%3D&chksm=b28fa48285f82d94f2b1ac8a7486a9c7582ad88cc29b3c14d16969929142a429e7c0bd4b7177&idx=1&mid=2448221688&scene=21&sn=a0238ec...
2019-04-01 22:33:15
2186
1
原创 程序跑飞的如何查问题
在下这厢有礼了最近一直在调试公司的代码,调的我有点慢,给自己总结一下我是在FPGA上调试,一个通信交互的工程。我遇到程序跑飞的无非是三种情况1.数组越界:就是数组的大小只有array[100],但是那你用了array[500],产生越界,越界使用的地址,因为没有分配,当程序跑到这块就会跑飞,(现象是进入了一个SVC_Handler异常软件中断,是一个死循环)解决办法:找到哪一...
2019-04-01 21:49:31
1866
原创 C语言的const、static、inline的学习
在下这厢有礼了整理的三个C语言小点。1.const概念:const 限定符,它把一个对象转换成一个常量。例子:const与指针。先来看看下面的几种定义:int me;const int * p1=&me;//p1可变,*p1不可变,此时不能用*p1来修改,但是p1可以转向(p1代表地址,*p1代表value)int * const p2=&me;...
2018-12-02 18:51:37
710
原创 BTstack的代码下载和代码说明文件
在下这厢有礼了btstack的代码和说明文件标记。百度云盘:https://pan.baidu.com/s/1Km4hoKZEJPULN_MTpHikuA密码:nbh4百度云盘:https://pan.baidu.com/s/1M_lWnrftpDmwcvI6NDx8YA密码:hj4g BTstack是蓝牙BR_EDR和BLE的上层协议,即host层。Protoco...
2018-10-29 00:00:26
1437
原创 Debug test function学习
在下这厢有礼了在代码中,有时需要你去做一些调试去查看问题,因此我们需要去学习一下最基本的操作。用的平台是keil的cm3我建了一个debug_test demo code你可以了解一下,欢迎交流。链接:https://pan.baidu.com/s/1dvfZH0fVoNzV6YtYcVRKJQ 密码:cshq我用的是结构体数组的方式去存储信息。代码如下debug.h#i...
2018-09-16 13:37:27
878
原创 CM3 flash patch 代码实现
在下这厢有礼了参考https://github.com/NordicPlayground/nRF52-flash-patch这个代码。内核:Cm3工具:keil第一步 首先你先建一个Hello world的keil工程。第二步 将https://github.com/NordicPlayground/nRF52-flash-patch文件下载下来学习第三步 将flas...
2018-09-16 11:17:20
1098
2
原创 CM3 flash patch and breakpoint
在下这厢有礼了首先我们先学习一下CM3的FPB协议1. Cm3有2 字符地址和 6函数断点(硬件断点)比较器,共有8个比较器;2. Cm3 是把代码地址空间中的指令和字符重载到SRAM中。3. 字符地址需要理解成立即数的修改。(简单可以理解为const unsigned int a = 14;修改为const unsigned int a=16)4. 寄存器学习(FP_BAS...
2018-09-11 23:55:28
2504
原创 keil的分散加载实例(cm3)
在下这厢有礼了。平台:Keil工程需求:分散加载(为了将函数放到指定的内存上)操作:1. 首先,你有个keil工程,你想将其中一个或者几个函数加载到指定地址上;2.打开keil工程,Alt+F7进入配置选项3.点击Linker,操作上面4步后就可以去写*.sct的分散加载文件了。4. 实例介绍,比如添加函数将她放进flash地址里面。这是添加的函数fla...
2018-09-11 00:38:16
1569
转载 C语言中的static 详细分析
转载自https://blog.csdn.net/keyeagle/article/details/6708077感觉好,就留给自己。 google了近三页的关于C语言中static的内容,发现可用的信息很少,要么长篇大论不知所云要么在关键之处几个字略过,对于想挖掘底层原理的初学者来说参考性不是很大。所以,我这篇博文博采众家之长,把互联网上的资料整合归类,并亲手编写程序验证之。 C...
2018-05-25 08:10:56
256
原创 UCOSII MailBox
在下这厢有礼了消息邮件管理1. 消息队列邮箱创建OS_EVENT *OSMboxCreate (void *pmsg){ OS_EVENT *pevent;#if OS_CRITICAL_METHOD == 3u /* 中断模式设定为3 */ OS_CPU_SR cpu_sr = 0u;#endif#ifde...
2018-05-21 23:42:32
2507
原创 UCOSII OS_CORE.c
在下这项有礼了!1.就绪任务表INT8U const OSMapTbl[] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};OSUnMapTbl[]:最高优先级任务查找表;对应OSRdy Grp和OSRbyTbl[i]的位值(0~7)2.初始化函数72 void OSInit (void) //初始化UCOS-II函数73 {74 INT1...
2018-05-21 00:07:33
469
原创 python安装xlrd-1.10和xlwt-1.3.0
在下这厢有礼了注:你得首先有Python首先下载安装包https://pan.baidu.com/s/1HvtpAgEfdtn1JAVOPNcJhw 密码:is83其次将安装包解压后放到与Python同一目录下,如下所示然后打开cmd找到xlrd的路径,然后写setup.py install 安装xlwt的安装同上这样就安装完成了。然后验证,打开Python 命令行,如果你打出上面两个命令后,...
2018-05-04 09:08:13
4828
3
原创 UCOSII 内存管理
在下这厢有礼了内存管理:实际上就是为节省和最大利用内存,而对内存做的管理。内存管理原理:就是将一块内存分割成很多的小块,让user去使用,被使用的内存成为使用了的内存,用完重新回到内存管理中,没有使用的内存被作为有效(free)内存。为什么系统需要内存管理?这个问题可以思考一下。我在学习ucosII的memory management,感觉肯定很牛逼的操作,让它实现了一个内存管理。可是它却给我上了...
2018-03-24 19:29:48
1461
Python2.7.13150和pyinstaller-develop.zip
2018-02-27
Bluetooth5.0
2018-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人