Ordinary 发表于 2017-4-10 17:07:58

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;请问是哪里出了问题?

如果需要可以贴上其他代码。

Ordinary 发表于 2017-4-10 17:50:27

刚发就找到问题的,流控制没有关,默认烧录的8670psr文件里开着流控制。。

人生初见 发表于 2017-4-11 10:30:33

麻烦问下,怎么开启spp联接,SppStartService这个函数怎么使用呢?

Ordinary 发表于 2017-4-13 16:11:26

人生初见 发表于 2017-4-11 10:30
麻烦问下,怎么开启spp联接,SppStartService这个函数怎么使用呢?

我是基于sink工程来做的,直接在handleCLMessage中用SppStartService这个函数,传task进去就可以开启

人生初见 发表于 2017-4-13 16:20:16

谢谢,麻烦问下,8670spp的数据传输速度能到多少字节/秒?

Ordinary 发表于 2017-4-13 16:25:32

人生初见 发表于 2017-4-13 16:20
谢谢,麻烦问下,8670spp的数据传输速度能到多少字节/秒?

应该跟uart的差不多吧

DRK 发表于 2017-4-14 09:41:57

楼主的SppStartService在sink工程哪里找到的???

Ordinary 发表于 2017-4-14 14:24:31

DRK 发表于 2017-4-14 09:41
楼主的SppStartService在sink工程哪里找到的???

ADK的库文件spps.h里有

gn00473976 发表于 2017-10-6 09:35:46

路过学习一下,楼主请问一下有没有具体一点的例程?我在我的专案中加入了 sink_spp.c 这档案,也在main的地方加上了 sinkSppsInit,但当尝试要连线时却失败了,不知哪里不对?

pp34 发表于 2018-5-1 05:19:14

十分谢谢楼主
页: [1] 2
查看完整版本: CSR8670的spp收发问题