找回密码
 注册
搜索
查看: 958|回复: 2

[蓝牙资料] 【求助】有关SPP流控问题

[复制链接]
发表于 2013-5-14 15:51:11 | 显示全部楼层 |阅读模式
最近转向了蓝牙虚拟机编程,利用bluelab对BC417芯片进行编程。目前想实现RS485的数据流控制的功能,其中PIO2和PIO3控制485芯片的收发,默认485芯片处于接收有线数据的状态。现在遇到以下的问题.
需实现的功能:1、当UART口的数据发送到蓝牙模块时,蓝牙模块将其发送到空中。
              2、当蓝牙模块接收到空中数据时,此时设置485芯片为发送状态,将空中数据发送到485线路上。

程序结构:
case SPP_CONNECT_CFM:
         .......
        SPP_CONNECT_CFM_T *cfm = (SPP_CONNECT_CFM_T *) message;
        .....
        SourceConfigure(StreamSourceFromSink(cfm->sink), VM_SOURCE_MESSAGES, VM_MESSAGES_SOME);
        StreamConnect(StreamUartSource(), cfm->sink);
        .....
case SPP_MESSAGE_MORE_DATA:
        .......
        mmd = (SPP_MESSAGE_MORE_DATA_T *) message;
        (copy the data of mmd to uartSink);
        SinkFlush(uartSink, numberOfBytes);
        delay(N ms);
        setPio(status);
        .....
其中,延时N ms是为了保证uart中所有数据都能发送完毕,但此时出现了一个问题,进行回流测试时,若N设置过长,那么蓝牙芯片数据发送完毕后,其就不能立马接收到485的数据,若N设置过短,蓝牙芯片中的数据就不能全部发送出去。

因此,对于N的设置有没有什么办法,或者 蓝牙芯片将其数据发送完毕后,能不能使其产生一个中断?
 楼主| 发表于 2013-5-18 14:46:04 | 显示全部楼层
自顶一下,仍无结果!
点评回复

使用道具 举报

发表于 2013-6-18 22:25:03 | 显示全部楼层
good topic[em08]
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-6-23 11:15 , Processed in 0.048276 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表