有关SPP流控问题
来源: 评论:0 点击:
最近转向了蓝牙虚拟机编程,利用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的设置有没有什么办法,或者 蓝牙芯片将其数据发送完毕后,能不能使其产生一个中断?
需实现的功能: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的设置有没有什么办法,或者 蓝牙芯片将其数据发送完毕后,能不能使其产生一个中断?
自顶一下,仍无结果!
good topic
上一篇:CSR蓝牙芯片开发的下载仿真器
下一篇:蓝牙开发环境BlueLab库介绍
评论排行
- ·HFSS天线设计入门中文视频教程(1)
- ·CST2013破解文件,和谐万岁(1)
- ·关于打不开ADS帮助文档(1)
- ·基于左手介质的小型微带天线(1)
- ·HFSS10中仿真出现的错误(1)
- ·HFSS仿真螺旋天线模型的脚本程序(1)
- ·HFSS能仿真线圈天线吗?(1)
- ·Momentum中无法设置Substrate?(1)
- ·大家ADS2008中PIN二极管如何设定啊(1)
- ·请教ADS中的MSub个参数的意思(1)
- ·HFSS中怎么设置一个平面波激励啊(1)
- ·Hfss局部加密网格(1)
- ·HFSS使用心得(1)
- ·HFSS设计微带发夹型滤波器,求耦合系数请教(1)
- ·Microstrip Antenna Technology (Ke...(0)
- ·跟大家分享个宽频带90度功分移相网络(0)
- ·求教ADS中倍频器与频率源设置(0)
- ·30多个ADS视频教程在线观看(0)
- ·微波射频电路仿真100例(0)
- ·射频功率放大器设计资料(0)