一  TRSR8258简介

该芯片是泰凌微推出来的一款纯ble的芯片,接口丰富,功耗低,资源丰富,非常适合做可穿戴物联网设备,笔者拿这颗芯片做了不少方案,感觉非常好用,所以这里写一下使用心得。

二 串口的重要性

对于嵌入式软件工程师来说,再也没有能看到hello world的日志打印让人兴奋的事情了,只要有打印日志,问题都是可以解决的。知道串口的重要性了吧。所以,笔者有一个习惯,无论什么芯片,先把

串口打印优化好,把打印级别,打印函数写好,并用好,这个能极大的节省调试时间。

三 源码分析

8258的原厂日志比较粗糙,我们做了不少优化,主要有几个方面:

1 增加打印级别的控制

2 增加数据dump的函数

3 增加强制换行

具体代码如下:

    #define LOG_DEBUG(str, ...) printf("[DEBUG]:"str "\r\n", ##__VA_ARGS__)
#define LOG_INFO(str, ...) printf("[INFO]:"str "\r\n", ##__VA_ARGS__)
#define LOG_ERR(str, ...) printf("[ERR]:"str "\r\n", ##__VA_ARGS__)
#define FUNC_ENTER() //printf("[INFO]:%s Enter\r\n", __func__)
#define FUNC_EXIT() //printf("[INFO]:%s Exit\r\n", __func__)
#define DUMP8(data, len) dump8(data, len)

四 结果总结

这样,打印出来的日志就好看了,简单明晰,如下图所示:

[INFO]:driver_init Done
[INFO]:os_init Done
[INFO]:OS Task Init Done
[INFO]:Main Loop Starting...
[INFO]:factory test unaccomplished
[INFO]:power value check
[INFO]:power value:430,vol_state:1
[INFO]:local leds start mode:1
[INFO]:sunlight_mode_local:warm: 50 cold:50
[INFO]:version number: 1.21
[INFO]:sys rtc time: 2020-09-13, 10:40:51 now_sec:0
[INFO]:b_ble_state:0 b_rx_notify_enable:0

泰凌微TLSR8258芯片解决方案开发之串口打印级别设置的更多相关文章

  1. [TLSR8267] 泰凌微 telink tlsr8267 ble ADC 用法浅谈

    1.读 datasheet 在<DS_TLSR8267-E21_Datasheet for Telink BLE SoC TLSR8267.pdf>第11章详细介绍了ADC相关属性及参数. ...

  2. Spring Cloud 微服务架构解决方案

    1 理解微服务 1.1 软件架构演进 软件架构的发展经历了从单体结构.垂直架构.SOA架构到微服务架构的过程. 1.1.1 单体架构 特点: 1.所有的功能集成在一个项目工程中. 2.所有的功能打一个 ...

  3. Nepxion Discovery【探索】微服务企业级解决方案

    Nepxion Discovery[探索]微服务企业级解决方案] Nepxion Discovery[探索]使用指南,基于Spring Cloud Greenwich版.Finchley版和Hoxto ...

  4. BL8810|USB 2.0单芯片解决方案闪存读卡器|BL8810替代GL823K

    创惟GL823K是一款USB 2.0单LUN读卡器控制器,可支持SD/MMC/MSPRO闪存卡.它支持USB 2.0高速传输,将Digital TM(SD).SDHC.SDXC.Mini DTM.Mi ...

  5. OBD芯片应用开发手册 OBD2开发 内部资料分享 汽车电子通讯开发TDA61 TDA66芯片

    OBD产品及各种汽车电子相关的开发.往往需要开发者学习各种汽车协议,深入了解全部OBD规范和汽车各性能参数.这往往需要开发者很长的时间学习研究,大大延缓了OBD产品的上市开发进度.为此深圳芯方案电子公 ...

  6. WCF分布式开发步步为赢(2)自定义托管宿主WCF解决方案开发配置过程详解

    上一节<WCF分布式框架基础概念>我们介绍了WCF服务的概念和通信框架模型,并给出了基于自定义托管服务的WCF程序的实现代码.考虑到WCF分布式开发项目中关于托管宿主服务配置和客户端添加引 ...

  7. maven 聚合工程 用spring boot 搭建 spring cloud 微服务 模块式开发项目

    项目的简单介绍: 项目采用maven聚合工程 用spring boot 搭建 spring cloud的微服务 模块式开发 项目的截图: 搭建开始: 能上图 我少打字 1.首先搭建maven的聚合工程 ...

  8. 痞子衡嵌入式:恩智浦半导体全系无线(BLE, Zigbee, Thread, 2.4G, Sub-1G)微控制器芯片一览

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦半导体全系列无线微控制器芯片. IoT物联网是未来的趋势,半导体厂商作为IoT产业的上游,主要提供核心的无线芯片,作为半导体知名厂 ...

  9. Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台

    Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台: https://gitee.com/leecho/cola-cloud

  10. 微服务平台(Micro Service Platform : MSP)旨在提供一个集开发、测试、运维于一体的开发者专属平台,让开发者能快速构建或使用微服务,让开发更简单,让运维更高效。

    微服务平台(Micro Service Platform : MSP)旨在提供一个集开发.测试.运维于一体的开发者专属平台,让开发者能快速构建或使用微服务,让开发更简单,让运维更高效. MSP采用业界 ...

随机推荐

  1. Linux-mysql的备份与恢复

    数据库 备份 mysqldump(mysql自带备份功能) - 锁表 - 备份特别慢,适用于数据量较小 - 不可以做增量备份 - 单线程 ``` -A, --all-databases 所有的库 -B ...

  2. How to 充分利用你的服务器

    服务器高性能计算指南 本文处于preview阶段,内容并不完全严谨,如有错误敬请原谅,适当参考. 目录 服务器高性能计算指南 什么样的计算适合当前服务器? 从CPU架构入手 两个CPU带来的影响 那么 ...

  3. 史上最大电池!小米智能家庭屏Pro 8图赏

    今天小米智能家庭屏 Pro 8正式开售,集智能家居中控,智能网关以及娱乐教育三大功能为一体,首发749元. 它是一款全新的智能生态产品中控屏,配备了7500mAh大容量电池以及通用性更好的USB Ty ...

  4. css 实现移动端横向滚动条隐藏但还可以滚动的效果与实现多行文本溢出显示省略号

    一.实现移动端横向滚动条隐藏但还可以滚动的效果 1.首先添加一段html代码: <div class="scroll"> <div class="ite ...

  5. Java开发学习(三十八)----SpringBoot整合junit

    先来回顾下 Spring 整合 junit @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = Spring ...

  6. .NET Core开发实战(第32课:集成事件:解决跨微服务的最终一致性)--学习笔记

    32 | 集成事件:解决跨微服务的最终一致性 首先看一下集成事件的工作原理 它的目的时为了实现系统的集成,它主要是用于系统里面多个微服务之间相互传递事件 集成事件的实现方式有两种,一种是图上显示的发布 ...

  7. ABC 306

    前三题过水. D \(dp[i][j]\) 表示吃完前 \(i\) 个菜,胃的状况为 \(j\)(\(0\) 是健康,\(1\) 是不好)所获得的最大美味值. E 暴力的平衡树.用 multiset ...

  8. JS Leetcode 374. 猜数字大小 题解分析

    壹 ❀ 引 本题来自LeetCode 374. 猜数字大小,题目难度简单,与昨天的题目一样,也是一道标准二分法的题目,不知道是不是端午节的缘故,这两天的题目都比较简单,题目描述如下: 猜数字游戏的规则 ...

  9. NC19246 数据结构

    题目链接 题目 题目描述 qn姐姐最好了~ qn姐姐给你了一个长度为n的序列还有m次操作让你玩, 1 l r 询问区间[l,r]内的元素和 2 l r 询问区间[l,r]内的元素的平方和 3 l r ...

  10. mysql 8.0 配置文件my.cnf中文注解【转载】

    ########################################################################### ## my.cnf for MySQL 8.0. ...