Telink Mesh SDK 调试log打印

    • Telink 官网论坛建议使用GPIO模拟串口打印log,推荐阅读Telink官网发布的最新SDK使用手册,更新了不少东西
  • 一. 使用串口打印log
    • 1.使能uart log 宏HCI_USE_UART
    • 2. 使用my_printf_uart()函数输出log信息。
  • 二. 使用GPIO模拟串口打印log
    • 1. 打开log输出宏
    • 2. 设置波特率
    • 3. log等级设置,修改等级可过滤一些log
    • 4.log输出函数:泰凌微官方建议使用LOG_USER_MSG_INFO()函数,调用样例:

Telink 官网论坛建议使用GPIO模拟串口打印log,推荐阅读Telink官网发布的最新SDK使用手册,更新了不少东西

参考博文:
Telink BLE MESH开发|ble mesh开发教程《二》telink_sig_mesh增加调试信息打印
泰凌微 ble mesh

一. 使用串口打印log

串口同时还可用于Gateway UART 模式的 BLE 连接和加灯

1.使能uart log 宏HCI_USE_UART

在app_config_8258.h 文件中 ,HCI_ACCESS 选为 HCI_USE_UART
#define HCI_ACCESS HCI_USE_UART
#define UART_TX_PIN UART_TX_PD7 // 设置端口
#define UART_RX_PIN UART_RX_PA0

2. 使用my_printf_uart()函数输出log信息。

二. 使用GPIO模拟串口打印log

默认只有输出 ,没有输入!

1. 打开log输出宏

在工程目录 app/app_config_8258.h文件中,有如下与日志打印相关的宏定义:

#define HCI_LOG_FW_EN 1 // 使能打印log宏
#if HCI_LOG_FW_EN
#define DEBUG_INFO_TX_PIN GPIO_PB2 // 设置tx端口
#define PRINT_DEBUG_INFO 1
#endif

2. 设置波特率

在vendor/common/myprintf.h文件中,宏定义BAUD_USE决定了波特率,用户可将其改为其他值
#define SIMU_BAUD_115200 115200
#define SIMU_BAUD_230400 230400
#define SIMU_BAUD_1M 1000000

#define BAUD_USE SIMU_BAUD_115200 //官方建议使用1M

3. log等级设置,修改等级可过滤一些log

log 分级信息如下
TL_LOG_LEVEL_DISABLE:禁止
TL_LOG_LEVEL_ERROR:错误
TL_LOG_LEVEL_WARNING:警告
TL_LOG_LEVEL_INFO :普通 log
TL_LOG_LEVEL_DEBUG:调试 log

Log等级设置为 TL_LOG_LEVEL_DEBUG
位置: proj_lib\sig_mesh\app_mesh.h
3.2.1版SDK与上述等级有差别

4.log输出函数:泰凌微官方建议使用LOG_USER_MSG_INFO()函数,调用样例:

LOG_USER_MSG_INFO(0, 0," [mesh] Start from SIG Mesh", 0);

函数位置: sdk\proj_lib\sig_mesh\app_mesh.h

Telink Mesh 开发(1)调试log打印相关推荐

  1. Android开发中的Log打印日志

    目录 一.什么是Log? 二.Log类的使用 1.Log类中的五个方法: 2.具体使用: 一.什么是Log? Log 是 android.util 包中的一个类,是 Android Studio 中的 ...

  2. Android开发,使用Log打印日志,打印相同内容在Logcat中只能连续显示两次(遍历打印List中的内容,打印结果条数比List的size小)。

    这个问题也不算什么有技术含量的问题,不过我感觉还是有必要写篇博客记录,以免有人遇到和我一样的困扰,也是因为在网上搜索发现,没有多少文章说明这个如题的原因,可能是大多都没经历过这个问题,或者是感觉不值得 ...

  3. 嵌入式开发输出调试信息的几种方法(常规法及非常规法)

    这篇文章对于研发查找问题和测试都有很大帮助,在这里保存记录一下. 论语>有云:"工欲善其事,必先利其器".输出调试信息是软件开发中必不可少的调试利器,在出现bug时如果没有调 ...

  4. win32开发(调试)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 很多同学都喜欢看代码,但是不喜欢调试代码.其实,在我看来,调试代码本身也是一项重要的能力.一份代 ...

  5. AngularJS学习笔记之二:开发、调试和测试工具

    2019独角兽企业重金招聘Python工程师标准>>> 一.搭建自动化的前端开发.调试和测试环境 我们先来看一个完整的项目实例,这是AngularJS官方为我们提供的Phonecat ...

  6. c++ log 打印android_如何在ANDROID JNI 的C++中打Log

    http://blog.csdn.net/pkigavin/article/details/8583537 最近在研究Android 2.3.3源代码的C/C++层,需要对代码进行一些调试,但是奇怪的 ...

  7. Android log打印不出来

    有时候,不知道为什么,android 的log 会打印不出来.怀疑是某一个时刻,log 打印太多导致.或者有其他原因. 这时候,如果不能调试,只能看log 的话,那么真的需要log 排查问题.但是lo ...

  8. Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用...

    Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象 ...

  9. android日志打印机制,Android4_使用Log打印

    一.Log介绍: Android中的日志工具类是Log(android.util.Log),这个类中提供了如下5个方法来供我们打印日志. Log.v() .用于打印那些最为琐碎的.意义最小的日志信息. ...

  10. 使用Android Studio 进行NDK开发和调试

    2019独角兽企业重金招聘Python工程师标准>>> 尽管Android Studio已经越来越流行了,但很多人还是习惯于Eclipse或源码环境下开发JNI应用.个人认为使用An ...

最新文章

  1. 在Linux部署Nodejs项目,一旦断掉XShell就会导致服务被停掉,真的很郁闷~怎么办?果断用forever
  2. Golang Study 三 map的顺序输出
  3. 怎么解决input中readonly属性的iOS一直存在光标问题
  4. 【操作系统复习】操作系统的特征
  5. mysql数据库 集群_mysql数据库集群
  6. Skype 释出新的 Linux 客户端
  7. 采用rsync实现两台solaris服务之间的文件同步
  8. 异常点/离群点检测算法——LOF
  9. 解决办法:undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
  10. cloudflare-5s盾分析
  11. python期权定价公式_一揽子欧洲期权蒙特卡洛定价(python)(一)
  12. 安装Windows Server 2003 sp1/sp2提示产品密钥无效
  13. android 键盘 码,Android键盘输出增加按键码
  14. 100份开工礼送粉丝,体验嵌入式高级感!
  15. 虚拟机更新升级,原来的GuestAdditions versions版本不匹配
  16. python金融大数据分析师工资待遇_请问数据分析师这个工作怎么样,是否值得成为努力方向?...
  17. zabbix下载方式
  18. 第六天 01-hydra工具windows远程桌面的密码爆破
  19. nvl2与nvl使用区别
  20. 我,28岁,10月无情被辞:想给还在手工测试的人提个醒......

热门文章

  1. 手把手教你微信第三方平台开发
  2. android 手写字体识别,Android手写识别 (Tesseract-OCR的使用)
  3. 家庭常用5号/7号电池购买及使用攻略
  4. python实用脚本(三)—— 通过有道智云API实现翻译
  5. 2008服务器系统c盘清理,WindowsServer2008清理C盘空间
  6. 章节十:Selenium
  7. Linux开发-数据流与管道
  8. 【原创】软件测试(原书第二版)
  9. CMYK 和 RGB 着色
  10. 解决ajax回调函数不执行success的问题