CSR867x — uart串口调试和AT指令
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XX 作 者:ZHS(文化人)
XX 联系方式:文章末尾Chat快问
XX 版权声明:原创文章,欢迎评论和转载~转载时能告诉我一声就最好了
XX 要说的话:作者水平有限,难免有不足之处,恳请指正!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
写在前面:在新接触CSR平台时,如何查看调试信息?如何实现串口通信,通过串口打印log?如何添加AT指令?看看下文就知道了。
1、Print Channel 0:
1)属性配置Raw,Define Symbols添加宏;
或属性配置Raw,sink_debug.h中去掉宏后面的‘x’;
2)编译库,修改makefile,Debug模式下能正常打印,可参考这篇博客。
2、VM Spy:
有时可以有时不可以,暂时不贴了;
3、离线log;
资源包链接:点击下载。名称修改:把所有*_c.txt文件改为*.c,所有*_h.txt文件改为*.h(非常重要)
1)uart文件夹整个拷贝到路径:src/lib
2)uart.h头文件放到路径:tools/include/profiles/BlueLab-7.0.3-Release
3)静态库libuart.a放到路径:tools/lib/ BlueLab-7.0.3-Release下面的三个文件夹
4)属性配置里,添加库:uart 如下图
5)把my_uart和sink_parse.parse,添加到工程中,初始化uart和handler;如下图
6)main.c初始化:my_UartInit(&theSink.task); 编译,下载;这里有一个错误,如下图,是自动生成的,直接屏蔽就行
7)sink.psr文件中默认波特率是38400;115200则改为1 c200;如下图
8)AT指令的测试如下图,可参考这篇博客;
遗留问题收敛:2018-05-25
1、工程psr的默认配置是打开了流控的,所以看串口log时需要勾选RTS,关掉psr的方法是改为0x0880:
直接把下面的复制放到对应的psr文件中
// PSKEY_UART_CONFIG_USR
&01c2 = 0880
2、CSR8670的USB接口和UART接口只能同时使用一个,使用了USB,就不能用UART打印LOG了;