一 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
作者:虚生 出处:https://www.cnblogs.com/dylancao/ 以音频和传感器算法为核心的智能可穿戴产品解决方案提供商 ,提供可穿戴智能软硬件解决方案的设计,开发和咨询服务。 勾搭热线:邮箱:1173496664@qq.com weixin:18019245820 市场技术对接群:347609188 |