微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 关于CC2640R2F从自建的.c里调用蓝牙协议栈库指针跑飞

关于CC2640R2F从自建的.c里调用蓝牙协议栈库指针跑飞

时间:10-02 整理:3721RD 点击:

自己写了一个串口的调用.c,放在APP文件夹下,然后在这个.c里面调用自己写的位于simple_gatt_profile.c中的发送NOTIFY的子程序,一调用就跑飞,程序飞哪去了都不知道,编译都是正常的。

然后,我在simple_peripheral.c,就是APP的主要程序里,调用同样位置的发送NOTIFY的子程序,就成功,非常流畅。

已经添加了很多头文件,编译也都是正常的,想问下,1.35协议栈调用BLE库是不是有什么特殊操作不成?

可以参考这边例程:

http://processors.wiki.ti.com/index.php/CC26xx_Adding_basic_printf_over_uart_with_TI-RTOS

可能我表达的不太清楚。首先,自建的串口.c,接收和发送都是正常的,而且已经关闭低功耗,现在我要做串口透传,像CC2540/1那样,在串口接收回调里直接调用发送NOTIFY的子程序,程序就跑飞。如果在 "simple_peripheral.c"这个文件里调用发送NOTIFY的子程序,那就是正常的,手机能收到,并收到正确的信息

串口每秒收到的数据有多少字节?

问题是cc2640 rtos实时性没有cc2540的好。

串口透传数据不能太多。

1S 6个字节的速度。。。

刚才用单步运行看了下,可能是队列的问题,NOTIFY子程序放在串口回调里,由于回调没结束,应该是有队列的,然后NOTIFY的子程序进入队列里排队,等上一个队列结束再执行,但是由于占用着串口的CB,上个队列没法结束,导致了卡死。

估计是这样,等待TI的官方解释

你的数据量不大,可能低功耗没有关闭?

NOTIFY的子程序不能放在串口的callback程序里。放其他程序里就可以了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top