全,
我正在尝试通过SPP配置文件与连接到微控制器的RN4678蓝牙芯片进行通信。
我对Android应用程序从来没有遇到过问题。我总是可以配对(如果没有配对),连接,向芯片发送消息,以及断开连接。下面是一个会话示例:
%CONNECT,AB9876543210%
%RFCOMM_OPEN%
%TEST% <-- Message sent using the keyboard ("Byte Stream Mode" option)
%RFCOMM_CLOSE%
%DISCONN%使用iOS应用程序,我总是可以配对(如果不是配对)、连接和断开连接。但是,如果我不能向芯片发送消息。下面是一个会话示例:
%LCONNECT,499B107AB1B5,1%
%LSECURED%
<-- Here I try to send a message, but it is never received
%DISCONN%有趣的是,如果我首先使用Android连接/断开连接,然后使用iPhone/iPad连接,则接收成功!
%LCONNECT,499B107AB1B5,1%
%LSECURED%
%TEST% <-- Yeah !!! Microcontroller receives the message
%DISCONN%据我所知,处理的路径是一样的.换句话说:
if(msg equals "RFCOMM_OPEN" or msg equals "LSECURED")
go to state that monitors incoming messages因此,我谨此提出以下问题:
1-你遇到过类似的事情吗?你有什么提示吗?安卓应用程序可以做iPhone应用程序没有做的事情吗?我忽略或不理解的是什么?
2.你是否知道有一款应用可以同时在iOS和安卓上运行?我的意思是,由同一个人/公司设计?
如果您需要更多信息,请联系我们。我只是不想太“罗嗦”。
谢谢你的帮助。
诚心诚意,文森佐
发布于 2017-07-23 01:24:05
全,
在我的工作中,我们一直在使用两个RN模块: RN4677 (我们从这个模块开始)和RN4678。
该模块允许用户进入(和退出)命令模式。RN4677允许在仍处于命令模式时与管理器进行双向通信。RN4678不允许在仍处于命令模式时与管理器进行双向通信。
我所需要做的就是退出命令模式(通过发出命令‘-\r’)。现在这两个模块都可以在Windows/Android/iOS上运行...
总结一下:
command "$$$\r" to enter command mode
various commands, requests for settings, ...
command "---\r" to exit command mode (a must for RN4678)现在,两个模块都可以正常工作了
我必须说..。解决这个问题是很痛苦的。
由衷地,
文森佐
https://stackoverflow.com/questions/45015813
复制相似问题