访问Android上的本机串口

2024-01-03

我想让 Android 应用程序/服务访问本机串行端口 (UART RS-232)。当我说本机时,我指的是真正的 UART,而不是 USB 转串行加密狗。我可以从终端(连接到 4 个本机串行端口之一)看到它们。它表明内核已经处理了低级的事情。

# ls -l /dev 
crw-rw-rw- system   system   204,  67 2010-01-01 07:00 s3c2410_serial3
crw-rw-rw- system   system   204,  66 2010-01-01 07:00 s3c2410_serial2
crw-rw-rw- system   radio    204,  65 2010-01-01 07:00 s3c2410_serial1
crw-rw-rw- system   system   204,  64 2010-01-01 07:00 s3c2410_serial0 

我用姜饼。我已将 Android 移植到我的平台上,该平台配备 S5PV210 处理器。我完全控制内核和权限。我已经修改了很多东西(蜂窝、触摸屏、液晶面板尺寸等),包括 init.rc 文件。

我如何通过 Android APK 与这些设备通信?正如您所看到的,“s3c2410_serial1”来自用户“radio”,因为我获取 Gingerbread 源代码的原始系统在该串行端口上有一个 GPRS 模块。在 init.rc 中更改很容易。但这只是证明我们至少可以访问 Android 系统上的本机串行端口。

应用程序或服务不需要控制 APK 的波特率或任何花哨的东西。我只想发送和接收字符。内核可以设置默认波特率,我对此很满意。我什至不需要控制 RTS/CTS。

任何提示表示赞赏。


我找到了一个方法。它似乎适用于任何类型的设备,因为它只是将设备作为文件访问。查看链接android-串口-api http://code.google.com/p/android-serialport-api/。它适用于任何类型的 /dev/... 在我的情况下,我必须安装 NDK 并经历所有的喧闹才能让它工作。有一段用 C 语言编写的代码,用于设置波特率。事实上,open和close都是用C实现的,剩下的都是标准的android java。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问Android上的本机串口 的相关文章

  • 何时关闭 Android 上的数据库连接?每次操作完成后或应用程序退出后

    我有一个 Android 应用程序 经常访问本地 sqlite3 数据库 出于性能考虑 所以我始终保持连接打开 但我的一位朋友建议我在每次操作时打开 关闭连接 1 你们对这两种方法有何看法 缺点 优点 2 我做了一些测试 发现数据库连接没有
  • 通过 PC (Eclipse) 在物理设备上模拟来电

    我正在开发一个 Android 项目 我希望能够在物理设备上测试我的应用程序 我测试应用程序的唯一方法是接收传入的短信和电话 我知道我可以通过 telnet 或 Eclipse 中的 DDMS 在模拟器上模拟文本和调用 是否可以做同样的事情
  • 在 build.gradle 文件中添加 buildFeatures 时出错

    我正在尝试 compose 这是 Android jetpack 中的一项新功能 下面是我的代码 我在应用程序的 build gradle 文件中添加 buildfeatures 而不是在根文件夹中 android compileSdkVe
  • “在包‘android’中找不到属性‘showAsAction’的资源标识符”

    我正在尝试更新我的 Android 应用程序 以便在运行 Honeycomb 的平板电脑上看起来更好 因此 我的目标是 SDK 版本 11 我的 minSdkVersion 4 这会将 Honeycomb 主题添加到我的应用程序中 使其看起
  • 在 Samsung Galaxy Tab 2.3.3 android 上禁用列表视图过度滚动

    我需要在列表视图中完全禁用过度滚动 以便我可以实现自己的过度滚动功能 查看核心列表视图类时似乎很简单 只需设置overscroll模式设置为 OVERSCROLL NEVER 这在我的三星 Galaxy s2 上表现良好 但不起作用Gala
  • 删除自定义对话框上的黑色背景

    我想删除自定义对话框上的黑色背景 如图所示 我确信黑色背景来自对话框 而不是来自应用程序的背景 警报对话框代码 public class MyAlertDialog extends AlertDialog public MyAlertDia
  • 使用phonegap运行android命令时创建android子项目时出错

    我安装了nodejs并执行了以下操作 npm install g phonegap phonegap create
  • 如何在Android中以编程方式设置闹钟?

    以下是我的代码 任何人都可以告诉我为什么它不起作用 我已经从中学到了本教程 http androidgenuine com tag alarmreceiver excellent tutorial 但它不起作用 任何帮助都是可观的 我的代码
  • 在Android中动态更改应用程序图标文本

    我正在开发一个日历应用程序 其中我将使用一项服务在应用程序图标文本本身中显示日期 例如 如果日期是 2010 年 4 月 26 日 那么手机菜单中的应用程序名称也会显示相同的名称 所以我不明白如何通过程序动态更改应用程序的图标文本 我不知道
  • 如何使用appium和java在Android中向下滚动以单击元素?

    我想知道如何使用appium和java向下滚动以单击Android中的元素 我里面有一个元素列表 android support v7 widget RecyclerView由于它有10多个元素 所以我们需要滑动屏幕才能看到下面的元素 每个
  • 使用材料设计在工具栏中滑动选项卡

    我一直在学习使用材料设计使用滑动选项卡这个帖子 http www exoguru com android material design navigation android sliding tabs with material desig
  • 如何使用 Visual Studio 从 Xamarin.Forms 项目生成 .apk 文件?

    我有一个 Xamarin Forms 项目 我想将其作为apk 但是我找不到如何生成 apkVisual Studio 中的文件 我该怎么做 当使用 Visual Studio 2015 Update 3 和最新的 Xamarin 工具 编
  • ImageView 的 xml 中的 android:contentDescription="@string/desc" 是什么?

    我添加了一个imageView in GraphicalLayout但它在我的真实设备上看起来与 AVD 上不同 我发现我需要添加contentDescription在布局中 xml 但是当我添加 contentDescription st
  • Android API 14 - 网络操作/AsyncTask

    我最近提出了一个基于使用 POST 数据进行 HTTP 请求的问题 在这里找到 Android API 14 将数据发布到 HTTP https stackoverflow com questions 8464204 android api
  • 如何将 gradle 项目转换为 android 项目

    我使用 Eclipse ADT 并且通过配置 gt 转换为 gradle 项目将我的 android 项目转换为 gradle 项目 实际上我需要将我的 gradle 项目转换为 android 项目 我怎样才能做到这一点 Eclipse
  • Android 上的推送器

    我正在尝试让 Pusher 在 Android 上运行 这是我的需求 必须支持 私人 频道 必须支持安全连接 必须能够覆盖推送器 身份验证端点 注意 我已经尝试过以下路线 在 WebView 中加载 Pusher js 并让它回退到 Soc
  • 融合位置有时会停止

    我一直在开发一个跟踪用户位置的应用程序 为此 我使用了谷歌播放服务位置模块 又名融合位置 总而言之 一切正常 但有时 完全随机 我根本不再收到来自谷歌位置服务的位置更新 我的意思是 我的应用程序工作正常 但没有位置更新 不仅如此 如果我启动
  • 如何区分 onDestroy() 是否作为配置更改序列的一部分被调用?

    在我的 Activity 中 一些外部事物 服务 需要在 onDestroy 中销毁 但当配置发生更改 例如键盘翻转 时我不希望出现这种情况 因为它将立即恢复 所以问题是 如何区分 onDestroy 是由后退键按下还是配置更改过程的一部分
  • Android:“无法初始化可视化引擎”

    我三天前开始为 Android 编程 今天我想使用 android Api 中的一些类来做一些更困难的事情 我找到了 Visualizer 类 第一次尝试时遇到了问题 我在不同论坛上读到很多帖子 人们有同样的问题 无法初始化可视化引擎 我将
  • Android 上方向改变时如何避免重新启动 Activity

    我正在创建一个 Android 应用程序 在其中在画布上绘制视图 当设备的方向改变时 活动将重新启动 我不想这样 如何避免在方向改变时重新启动 Activity 有多种方法可以做到这一点 但正如给定的here https stackover

随机推荐

  • 加载目录中的所有图像

    我的目录中有某些图像 我想加载所有这些图像来进行一些处理 我尝试使用load功能 imagefiles dir F SIFT Yantao demo data jpg nfiles length imagefiles Number of f
  • 单一资源的 Rails 嵌套路由

    我在单一资源上有一个嵌套路线 map resource account controller gt users do page page resources feeds end 我正在尝试制作一个表单来添加提要 我从这个开始 undefin
  • 一个 EC2 实例下的多个 WordPress 多站点 (AWS)

    我们正在尝试为一个 EC2 实例下的多站点配置 DNS 路由 具体来说 我们正在设置 WordPress 多站点的开发 测试和 UAT 环境 我们在这个网络上只有 2 个站点 主站点和一个网站 现在 我已成功将生产站点 在不同的 EC2 实
  • 在 Qt GUI 事件线程中检测到“我正在运行”

    我有这个功能来更新一些 GUI 的东西 void SavedConnections renderList Do GUI stuff Must run in Qt thread 我需要确保该函数不会从其他线程调用 我打算做的是将其推迟到事件循
  • Firebase 规则:如何阻止匿名访问?

    阅读 Firebase 规则文档 https firebase google com docs storage security 我找不到任何有关如何阻止匿名访问特定集合或文档的信息 换句话说 我想阻止未登录的用户 也想阻止以匿名身份登录的
  • 如何在反射中迭代列表

    我有一个名为 Students 的属性 其类型为List
  • 如何在 SBCL/Common Lisp 中与进程输入/输出交互

    我有一个文本文件 每行一个句子 我想使用 hunspell s 选项 对每行中的世界进行词形还原 由于我想分别获得每行的引理 因此将整个文本文件提交给 hunspell 是没有意义的 我确实需要一行接一行地发送 并为每一行提供 hunspe
  • 如何判断单词是否连续重复两次

    例如 我在 MySQL 数据库表字段中有以下段落 当地球介于天文物体之间时 天文物体的照明被切断 例如月食 这里这个词 object 连续出现两次 彼此相邻 我想检查这种情况是否出现在同一个表的其他记录中 有没有一种简单的方法可以使用 PH
  • 以编程方式设置 Segue 标识符

    假设我有一个带有文本字段和按钮的 ViewController 我想使用展开转场 以便在单击按钮后我可以将文本字段的信息获取到我的其他视图控制器 我想使用PrepareForSegue方法 这样我就可以在 展开 之前将文本字段中的文本保存在
  • 无法使用 FluentEmail 发送电子邮件中的嵌入图像

    我在用着流利的电子邮件 https github com lukencode FluentEmail在 ASP NET core 2 0 类库中 它将发送电子邮件通知 下面是我到目前为止尝试过的示例代码 using FluentEmail
  • 使用毕加索强制重新下载图像

    我正在创建一个应用程序 它将从特定的 url 下载图像并将其显示在 ImageView 上 服务器会随着时间的推移更改此图像 但 url 保持不变 所以我想实现这样的逻辑 当应用程序旋转或重新打开时 从应用程序缓存加载图像 当用户点击下载按
  • 未捕获错误:断言失败:尝试使用已在使用的 id 注册视图:名称

    我随机开始收到此错误Uncaught Error Assertion Failed Attempted to register a view with an id already in use name在我的应用程序上使用 ember cl
  • 如何在多行文本框中不断滚动到文本末尾? [复制]

    这个问题在这里已经有答案了 我正在使用计时器用文本更新我的文本框 每次计时器滴答作响时 我都会被重定向到多行文本框中键入的文本的开头 这个怎么做 我想说 当您刷新时 您可以将选择光标移动到末尾 然后使用 ScrollToCaret 滚动文本
  • Redis中的数据目录在哪里?

    将一些数据写入 Redis 服务器后 我可以从客户端读取数据 但是 如何找到文件系统上的数据目录呢 最快的方法 使用redis cli redis cli config get dir 如果您配置了身份验证 则需要在使用中传递该身份验证 a
  • Parsley 2.x 和 Bootstrap 3 错误消息范围的错误放置

    我正在尝试将欧芹验证添加到 Bootstrap 3 btn group 中包含的一组单选按钮 问题是欧芹注入的错误包装器 在我的例子中设置为跨度 出现在两个选项之间 包含在标签内 而不是出现在 btn group div 之外 下面的示例对
  • 不安全的 JavaScript 尝试访问带有 URL 的框架:域、协议和端口必须匹配。

    我试图通过调用来设置应用程序的高度 FB init appId fbAppId status true cookie true xfbml true oauth true channelURL webUrl channel html FB
  • 如何配置 WCF 以支持故障契约,其中主机和客户端都在使用 net.pipe 的同一进程中?

    我正在尝试使用 net pipe 绑定为我的服务与客户端交互创建一个进程内单元测试 与良好的 WCF 服务一样 它在服务操作上使用FaultContractAttribute 来公开可能的错误 包装异常 到元数据 我想通过 XML 配置客户
  • time() 根据服务器返回不同的时间戳

    我现在搜索了好几个小时 似乎以前没有人遇到过这个问题 我运行一个脚本 将当前时间戳写入两台服务器上的数据库中 两者都有相同的操作系统 软件 和相同的时区 现在我发现 某些时间戳和当前时间 之间的差异是负数 是的 计算是正确的 time ol
  • WPF 的打印对话框和打印预览对话框

    是否有像 Google Chrome 或 Word 那样的 WPF 打印对话框与 WPF 中的打印预览对话框相结合 此时我使用 Windows 窗体中的打印预览对话框 我也尝试过使用它的 WPF 版本 但是WPF没有PrintPreview
  • 访问Android上的本机串口

    我想让 Android 应用程序 服务访问本机串行端口 UART RS 232 当我说本机时 我指的是真正的 UART 而不是 USB 转串行加密狗 我可以从终端 连接到 4 个本机串行端口之一 看到它们 它表明内核已经处理了低级的事情 l