CSR8670的spp收发问题
想要实现手机通过蓝牙发送字符串,在串口处接收;串口也可以发送字符串,再通过蓝牙在手机的APP上接收。所以在处理spp的函数里将rfcomm的source端和uart的sink端连接,rfcomm的sink端和uart的source端连接,但是结果只能通过电脑串口发送字符串,然后手机接收,而手机通过蓝牙发送字符串在电脑的串口接收不到,下面是连接这两个通道的代码:case SPP_SERVER_CONNECT_CFM:
{
SPP_SERVER_CONNECT_CFM_T *sscc = (SPP_SERVER_CONNECT_CFM_T *)message;
SPPS_DEBUG(("SPP_SERVER_CONNECT_CFM_T :-"));
if( spp_connect_success == sscc->status )
{
Source uartSource = (Source) PanicZero( StreamUartSource() );
Sink uartSink = (Sink) PanicZero( StreamUartSink() );
SPPS_DEBUG(("Success.\n"));
SPPS_DEBUG(("Memory Slots: %d\n", VmGetAvailableAllocations()));
PanicNull(sscc->sink);
PanicZero( StreamConnect(StreamSourceFromSink( sscc->sink ),uartSink) );
PanicZero( StreamConnect( uartSource, sscc->sink ) );
}
else
{
SPPS_DEBUG(("failure: %d\n",sscc->status));
}
}
break;请问是哪里出了问题?
如果需要可以贴上其他代码。
刚发就找到问题的,流控制没有关,默认烧录的8670psr文件里开着流控制。。
麻烦问下,怎么开启spp联接,SppStartService这个函数怎么使用呢?
人生初见 发表于 2017-4-11 10:30
麻烦问下,怎么开启spp联接,SppStartService这个函数怎么使用呢?
我是基于sink工程来做的,直接在handleCLMessage中用SppStartService这个函数,传task进去就可以开启
谢谢,麻烦问下,8670spp的数据传输速度能到多少字节/秒?
人生初见 发表于 2017-4-13 16:20
谢谢,麻烦问下,8670spp的数据传输速度能到多少字节/秒?
应该跟uart的差不多吧
楼主的SppStartService在sink工程哪里找到的???
DRK 发表于 2017-4-14 09:41
楼主的SppStartService在sink工程哪里找到的???
ADK的库文件spps.h里有
路过学习一下,楼主请问一下有没有具体一点的例程?我在我的专案中加入了 sink_spp.c 这档案,也在main的地方加上了 sinkSppsInit,但当尝试要连线时却失败了,不知哪里不对? 十分谢谢楼主
页:
[1]
2