串口回调函数的问题
时间:10-02
整理:3721RD
点击:
Yan:你好!
我在做透传的时候,我用串口调试助手发一帧6字节的数据给BLE的主机,空中抓包发现我的这6字节的数据被分成两包发出的,仿真程序发现串口的回调函数进来两次,第一次读到的RX接收缓存数据长度是1,第二次读到的是5,所以数据被分成长度为1和5的两包数据发出了。数据的分隔不是固定的有时是2和4或者3和3。
1.请问怎样才能一次读回整帧数据的长度?
2.请问是否可以设置串口接收超时的参数,比如串口大于一定的时间没有接收到数据则认为这帧数据接收完成,再产生串口数据接收事件。
silver,
首先,确保用的是最新的1.4 版本的协议栈。
其次,你先试试看,把power_saving 模式关闭,并且把代码里面 这句注销掉: HCI_EXT_ClkDivOnHaltCmd( HCI_EXT_ENABLE_CLK_divIDE_ON_HALT );
请参考!
http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/p/64022/145746.aspx#145746