2640+串口SCS会停止广播
这里我贴出我做26405x5的过程
有什么不正确的地方希望大家指正,找了好久没有找到问题所在。
模块儿总是停止广播
软件环境
协议栈:BLE -STACK-2-2-1 IAR:7.70.2
RTOS:tirtos_cc13xx_cc26xx_setupwin32_2_20_01_08
SCS:1.4.1.54
安装后增加的目录为
tirtos_cc13xx_cc26xx_2_20_01_08
xdctools_3_32_00_06_core
simplelink2(这里因为使用TI多个版本的协议栈,所以代码为了不混淆所以安装协议栈时代码放在这个目录下面)
使用的工程在这个目录下面C:\ti\simplelink2\ble_sdk_2_02_01_18\examples\cc2650em\simple_peripheral\iar
如下图所示
然后我使用scs添加串口部分
点击UART Emulator 但是这里只有7x7我们先不管选择如下图所示
后面我进去后可以设置为2640 和5x5的封装如下图所示
然后选择RX和TX的buff大小,IO就直接用默认的DIO2 和DIO3然后产生代码
这里产生代码后我们就可以用IAR测试了
打开IAR找到SCS产生的工程,我打开的是iar_tirtos的工程因为不是rtos的工程我的编译有好多错误。rtos的也有错误
主要是下面这部分,这里屏蔽了#error部分编译就无误了。
我全局 搜索了SCIF_TARGET_CHIP_PACKAGE_QFN48_7X7_RGZ这个宏,发现只有这一处所以感觉是没有什么问题
// Display error message if the SCIF driver has been generated with incorrect target chip package
#ifndef SCIF_TARGET_CHIP_PACKAGE_QFN48_7X7_RGZ
#error "SCIF driver has incorrect target chip package configuration for this example. Please change to 'QFN48 7x7 RGZ' in the Sensor Controller Studio project panel and re-generate the driver."
#endif
下面是编译完成的图片
然后打开IAR从机的工程(也就是上面提到的)添加Scif_Driver文件夹添加驱动到这个文件夹中然后重新建一个线程
这个线程就参考scs产生的mian_tirtos.c来写 我写的是scif_task.c和scif_task.h代码稍后添加到附件中
对了不要忘记在Startup->main.c中添加这个线程的启动部分
scif_createTask();
然后就可以运行了,为了方便查找我把名字最后部分改为了scif。
也是为了方便查找,我把广播间隔设置为最小,160 改为了32也就是20ms
测试串口也会通。
因为吃过2541+PA的总是停止广播的亏,这里我也测试工作稳定性的问题。
发现一两个小时后会停止广播,真的好气呀。
是不是我SCS部分做的步骤有问题,还希望各位大神指教,万分感谢
这里上传我的代码
还希望TI的大神们抽出点儿时间指点一下,谢谢。
因为代码大小有限制,这里附上百度云链接,谢谢。
链接:http://pan.baidu.com/s/1b85GlS 密码:a5aj
看步骤应该没有问题,请问是否在TI官方板子上验证过代码?
谢谢您的回答
没有在官方的板子上测试过。