泰凌微TLSR825X开发一蓝牙通信实例

本文详细介绍了泰凌微TLSR8258蓝牙芯片的开发流程与要点,包括SDK配置、蓝牙参数设置及低功耗处理等关键技术。
背景

泰凌微蓝牙方案在消费类产品中近两年才火起来,实际网上也没有太多资料,芯片缺货的情况下作为替代方案还是可行的,手上有块TLSR8258的开发板,也就边看文档调试边记录
这里采用8258的方案在调,其实825X系列仅内部资源不一样(价格高低),实际选型的时候根据产品定位来选择合适的型号

型号 flash sram
8251 512kB 32kB
8253 512kB 48kB
8258 512kB 64kB

如有异议,欢迎指正,转载请注明出处

资源及SDK下载
特性
  • BLE5.0;支持Telink Mesh(私有)
  • Flash 512Kb Ram64Kb(TLSR8258)
  • 1.8V~3.6V
  • 5.3mA Rxfullchip;
  • 4.8mA Tx 0dbm_fullchip;
  • <1uA sleep+sram 0.4uA sleep
  • Tx Max +10dBm
  • 工作温度-40℃~+85℃(工业级)
架构图

在这里插入图片描述

SDK下载
  • 这里可以根据实际的应用来选择SDK,bz为了兼容其他相同产品线的方案选择了Single Connection的SDK
    在这里插入图片描述

IDE安装烧录可以查看Mesh博文

SDK工程
文件结构

工程导入Eclipse后的文件结构如下
在这里插入图片描述

  • application:提供了通用的应用处理程序,主要为打印print、USB、按键keyboard、音频audio
  • boot:提供芯片的 software bootloader,即 MCU 上电启动或 deepsleep 唤醒后的汇编处理过程,为后面 C 语言程序的运行搭建好环境(中断向量、堆栈配置)
  • common:提供通用的跨平台处理,如标准C库的字符串、内存处理函数等
  • drivers:提供与MCU外设驱动程序
  • proj_lib:内部为泰凌微蓝牙协议栈库文件liblt_8258.a包括RF射频、PM低功耗等库,这部分对开发用户不开放
  • stack:协议栈相关调用的头文件
  • vendor:用于存放用户应用层代码,目前支持应用有:
    • 8258_ble_remote:遥控应用,配合IR模块
    • 8258_ble_sample:是remote的简化应用,与标准的ios、android连接配对
    • 8258_hci:提供了基于USB/UART的HCI,和其他host通信,组成完整的ble slave系统
    • 8258_module:蓝牙串口透传模块的应用
    • 8258_master_kma_dongle:dongle的应用代码,是 ble master的例程
    • 8258_driver_test:外设的测试应用
    • 8258_feature_test:蓝牙射频相关的测试应用
实例
代码讲解
主函数

这里使用8258_ble_sample实例,先查看main.c中入口函数

  • 变量deepRetWakeUp来判断系统是否为休眠唤醒,来实现系统快速初始化
  • 中断irq_enable使能后协议栈开始运行
  • user_init_normal为ble系统初始化
_attribute_ram_code_ int main (void)    //让main运行在ram中,加快加载时间
{
   
   
    DBG_CHN0_LOW;   //debug 配合示波器调试使用
    blc_pm_select_internal_32k_crystal();//选择内部32k rc时钟
    cpu_wakeup_init();//硬件初始化, system timer计数器开始工作
    int deepRetWakeUp = pm_is_MCU_deepRetentionWakeup
评论 54
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值