从 Android 访问 RFCOMM 蓝牙配置文件中的 CTS/RTS 状态
我正在使用手机的蓝牙和具有 RS232 接口并支持 RFCOMM 配置文件的蓝牙板开发 Android 应用程序。
我的 RFCOMM 连接工作正常,但我无法找到通过 android API 访问 RTS 和 CTS 信号的方法,这些信号是 RFCOMM 配置文件的一部分,也暴露在我的 BT 板上。
谁能告诉我如何从 Android 设备读取/写入 RTS/CTS?
这里也提出了类似的问题: Android 上的蓝牙控制信号(DTR、DSR、RTS、CTS) 但从未回答。
I'm working on an android application using my phone's bluetooth and a bluetooth board that has an RS232 interface and supports the RFCOMM profile.
I have the RFCOMM connection working fine, but I cannot find a way through the android API to access the RTS and CTS signals, which are part of the RFCOMM profile and also exposed on my BT board.
Can anyone tell me how to read/write RTS/CTS from an android device?
A similar question was asked here:
Bluetooth control signals (DTR, DSR, RTS, CTS) on Android
but never answered.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这不是一个完整的答案,并且不适合大多数应用程序,但是您可以使用 Android 4.2 及之前版本的 Bluedroid 的本机 C 库或 BlueZ 来完成此操作。
以下文件:https:// android.googlesource.com/platform/external/bluetooth/bluedroid/+/master/stack/rfcomm/port_api.c 包含一个名为
PORT_Control
的函数,该函数应设置为您提供线路状态,PORT_GetModemStatus
将返回线路状态。还有另一个问题涉及 Bluedroid 本机库的使用:Android NDK accessing native蓝牙功能bluedroid。
This isn't a complete answer and will not be suitable for most applications, however you can do it using the native C library for Bluedroid from Android 4.2 onwards or BlueZ before that.
The following file: https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/master/stack/rfcomm/port_api.c contains a function called
PORT_Control
which should set the line status for you andPORT_GetModemStatus
will return the line statuses.There is another question covering the use of the Bluedroid native library here: Android NDK accessing native bluetooth functions bluedroid.