在 Android 上将 USB 波特率从 9600 更改为 115200

2024-01-28

我有一个 Arduino,它以 115200 波特率串行发送数据。

有一个应用程序以 9600 波特率从 Arduino 接收数据。代码是

    // Arduino USB serial converter setup
    // Set control line state
    mUsbConnection.controlTransfer(0x21, 0x22, 0, 0, null, 0, 0);
    // Set line encoding.
    mUsbConnection.controlTransfer(0x21, 0x20, 0, 0, getLineEncoding(9600), 7, 0);
    //mUsbConnection.controlTransfer(0x21, 0x20, 0x001A, 0, getLineEncoding(9600), 7, 0);

然后在获取行编码()功能

private byte[] getLineEncoding(int baudRate) {
    final byte[] lineEncodingRequest = { (byte) 0x80, 0x25, 0x00, 0x00, 0x00, 0x00, 0x08 };
    switch (baudRate) {
    case 14400:
        lineEncodingRequest[0] = 0x40;
        lineEncodingRequest[1] = 0x38;
        break;

    case 19200:
        lineEncodingRequest[0] = 0x00;
        lineEncodingRequest[1] = 0x4B;
        break;
    }

    return lineEncodingRequest;
}

有一个 switch case 结构用于将波特率设置为 9600、14400 或 19200。但我希望它是115200谁能告诉我该怎么做?


这是一个修改后的函数,可将上述函数推广到其他波特率:

private byte[] getLineEncoding(int baudRate) {
    final byte[] lineEncodingRequest = { (byte) 0x80, 0x25, 0x00, 0x00, 0x00, 0x00, 0x08 };
    //Get the least significant byte of baudRate, 
    //and put it in first byte of the array being sent
    lineEncodingRequest[0] = (byte)(baudRate & 0xFF);

    //Get the 2nd byte of baudRate,
    //and put it in second byte of the array being sent
    lineEncodingRequest[1] = (byte)((baudRate >> 8) & 0xFF);

    //ibid, for 3rd byte (my guess, because you need at least 3 bytes
    //to encode your 115200+ settings)
    lineEncodingRequest[2] = (byte)((baudRate >> 16) & 0xFF);

    return lineEncodingRequest;

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

在 Android 上将 USB 波特率从 9600 更改为 115200 的相关文章

  • 如何在红米手机上通过应用程序图标显示徽章数量?

    我可以使用以下代码在三星设备上使用应用程序图标显示徽章计数
  • Parcelable 写入可序列化对象 getactivity() 时遇到 IOException

    所以我在 logcat 中得到了这个 java lang RuntimeException Parcelable encountered IOException writing serializable object name com re
  • Android 的 GCM 推送通知[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 最近 我尝试学习 GCM 并制作一个测试应用程序 该应用程序将通过 androids 官方网站获取 an
  • 不支持动态值作为注释中的属性 - AspectJ Android [AOP Android]

    我正在使用自定义注释来记录用户单击的 id 但我收到一个错误 属性值必须是常量 我的代码片段如下 mAssetId Asset getContentId TrackEvent track event ArrayParams Params k
  • Android ACTION_DATE_CHANGED 广播

    我有 Nexus S 当我在手机上手动更改日期时 ACTION DATE CHANGED 并不总是被广播 如果我将日期从 2014 年 2 月 13 日更改为 2014 年 2 月 14 日 我还没有获得 ACTION DATE CHANG
  • Android,无法从谷歌API获取天气

    以下代码之前运行良好 class RetreiveWeatherTask extends AsyncTask
  • 卡片视图工具栏

    我有一个包含 CardView 的 RecyclerView 我想向每个 CardView 添加一个工具栏 其外观和行为类似于主工具栏 图标 标题 按钮 按钮 菜单 我从这里看到了 http blog grafixartist com cr
  • API 31 上是否有官方方法来提供文件关联,可能使用 pathSuffix/pathAdvancedPattern?

    背景 现代桌面操作系统上的一个众所周知的功能是能够处理文件 允许用户从文件管理器和其他应用程序中打开它们 作为 文件关联 配置 问题 到目前为止 对于用户和开发人员来说 在 Android 上设置文件类型关联并不是一件很方便的事情 在 An
  • 如何在发布版本中使用 Zebra EMDK?

    所以我有一台 Zebra MC330M 设备 我之前创建了一个应用程序 我想使用 PDA 内置的条形码扫描仪 如果在调试模式下运行我的应用程序 一切正常 我可以读取条形码 但是如果我创建暂存或释放版本 apk 则条形码读取器不活动 因此如果
  • 将文本视图包裹在图像视图周围

    晚上好 我正在尝试将文本包裹在图像视图中 就像这里提出的问题一样 Textview 环绕 View https stackoverflow com questions 3626750 textview wrap around view 在风
  • 要在进程中运行 dex,Gradle 守护进程需要更大的堆。目前有 910 MB

    实际上主要错误是 java exe完成非零退出值 1 首先我告诉你安装 studio 后遇到的每个问题 三天前 我刚刚安装了 android studio 并创建了新项目 1 首先它抛出错误 插件太旧 请更新到更新的版本 在谷歌上搜索后我改
  • 如何区分ActionBarSherlock中的两次菜单项点击?

    我最近一直在使用 ActionBarSherlock 并按照各种教程 我编写了这段代码来将项目添加到操作栏 Override public boolean onCreateOptionsMenu Menu menu menu add Ref
  • Android 可检查子菜单选项

    所以我有一个用于选项菜单项的子菜单 我想要一个可检查条目的列表 用户可以根据需要选择 取消选择多个条目 我无法解决的唯一问题是如何防止单击其中一个复选框时关闭选项菜单 我看到 PerformShortcut 有一个 FLAG PERFORM
  • 如何通过代码设置Fragment标签?

    我还没有找到类似的东西setTag String tagName 方法中的Fragment班级 唯一的方法是设置Fragment我发现的标签是通过做FragmentTransaction并传递标签名称作为参数 这是显式设置的唯一方法吗Fra
  • Android 视图上的动态气泡

    任何人都可以如何在Android布局上制作可点击的动态气泡 我的设计师对屏幕的想法如下 我的图像中所有气泡都是分配给用户的一组任务 气泡的标签根据任务而变化 1 1 根据我的项目要求 颜色和半径将根据 api 响应而变化 您能建议任何演示或
  • 创建用于 Android 库分发的 JAR

    我正在开发一个 android 库 并希望导出一个 JAR 文件 我可以分发该文件供其他人在他们的应用程序中使用 我不想分发源代码 因为它包含有关发布到我的网络服务器的详细信息 我尝试使用在 bin 目录中创建的 JAR 文件并将该 jar
  • Android 连接有时会被拒绝(并非所有时候)

    我编写了一个 WiFi Direct 代码连接并在它们之间创建了一个连接 然后我创建了一个ServerSocket在第一面和一个Socket在客户端并开始在它们之间发送数据 第一次启动应用程序时它工作成功 但是当我关闭应用程序并再次启动它时
  • Webview 中的 Java 空指针异常

    我试图搜索这个问题 但这个错误看起来与这个错误 https stackoverflow com questions 21866459 android nullpointerexception on webview 我的 google pla
  • Android 可扩展 GridView 就像 Google 图像一样

    我想创建可扩展的 GridView 其行为类似于 Google 图像页面 我想知道如何实现这样的功能 当我单击其中一张图像时 页面会展开并显示图片的详细信息 Android 中是否可以做类似的事情 Images grid Expanded
  • Android VideoView 中纵向视频方向错误

    我在 Android 设备上以肖像方向拍摄新视频 如下所示 Intent intent new Intent android provider MediaStore ACTION VIDEO CAPTURE startActivityFor

随机推荐

  • 从 SQL SERVER 中的 CTE 删除行

    我有一个 CTE 它是表上的选择语句 现在 如果我从 CTE 中删除 1 行 它会从我的基表中删除该行吗 如果我有一个临时表而不是 CTE 情况也是一样吗 检查DELETE语句文档 http msdn microsoft com en us
  • Azure 服务总线通知中心是否可以与 websockets 和 javascript 配合使用?

    我对使用 Azure 服务总线通知中心感兴趣 然而 我的第一个 客户端 将是使用 Knockout 与 ASP NET MVC 站点进行基于 Websocket 的连接 目前 我正在尝试使用 SignalR 向客户端推送通知 然而 如果我可
  • 从命令行运行 android 单元测试?

    我正在尝试按照以下方式在 android 平台上运行单元测试tutorial http developer android com guide topics testing testing android html 举例来说 我想为电子邮件
  • Symfony2 中 $em->clear() 出现未定义索引错误

    我编写了一个 Symfony 命令来从 API 导入一些数据 它可以工作 但问题是当我在数据库中插入一个大的 JSON 时 我的 PHP 内存使用量会增加 每次导入活动后 我的工作单位都会增加 2 我已经取消设置了所有使用过的对象 并且当你
  • 如何通过代码有选择地禁用浏览器文本输入中的自动填充?

    是否可以使用代码有选择地禁用文本字段中的自动填充功能 我正在 ASP Net AJAX 中开发自定义代码以在数据库中搜索建议 并且我想防止当用户开始在文本框中键入内容时出现浏览器建议 我正在寻找一种适用于最现代的浏览器 IE 7 和 8 F
  • Angular UI Router根命名视图模板从子视图更改

    安装程序使用 Angular v1 5 8 和 ui router v0 3 1 我的根视图有几个命名部分 为了简洁起见 我删除了其中的一些部分 看起来像这样 section div div section section div div
  • 上的 SlideToggle() 会导致“跳转”

    使用 jQuery 时slideToggle 函数显示 隐藏表中新行上的数据会导致其卡顿 然而 当使用slideToggle 显示 隐藏 div 它工作得非常顺利 谁能告诉我为什么会发生这种情况 小提琴示例 http jsfiddle ne
  • .net 的 S/MIME 库?

    我需要使用 C 创建 S MIME 消息 如 RFC 2633 S MIME 版本 3 消息规范 和 RFC 3335 中指定 我能找到的唯一 S MIME 库是一个商业库 http www example code com csharp
  • 如何使用或不使用尾部斜杠进行 301 重定向?

    我想重定向site com login OR site com login to site com wp login php 这是我到目前为止所拥有的 RewriteRule login wp login php R 301 L 但它不会重
  • 根据列值和其他列更新 Pandas 单元格

    我希望根据一列中的值更新许多列 这对于循环来说很容易 但当有很多列和很多行时 对于我的应用程序来说花费的时间太长 获得每个字母所需的计数的最优雅的方法是什么 期望的输出 Things count A count B count C coun
  • AdMob 奖励视频广告无法在 Android 中加载 Fragment 内部

    Admob 奖励视频广告无法加载片段 我认为这两行有问题 mAd MobileAds getRewardedVideoAdInstance getActivity mAd setRewardedVideoAdListener this 请检
  • PHP preg_replace:删除字符串开头和结尾的标点符号

    我可以在 PHP 中使用什么正则表达式来删除字符串开头和结尾的所有标点符号 我不会使用正则表达式 可能是这样的 str trim str 其中第二个参数是您定义的标点 假设你真正的意思是 was to 去掉字母 数字等以外的内容 我会和 一
  • css 过滤器使元素变成一种颜色

    以下 CSS 过滤器 filter brightness 0 invert 1 使元素全白 source https stackoverflow com questions 24224112 css filter make color im
  • C++ 中的链选项

    如何避免在 C 中使用链式选项嵌套 if 语句 例如 如果类型 A 包含std optional b b和 B 型std optional b
  • MYSQL更新查询删除空格

    我的一位客户在我们的一个应用程序中添加了多个帐号 尝试进行交易时 由于帐号末尾有空格 交易失败 我如何更新他在Mysql数据库中的记录 以删除末尾有空格的帐户中的所有空格 而不会让他删除客户端并重新添加帐户 表的结构如下 不知道如何构造查询
  • qsort 是否需要一致的比较,或者我可以用它来进行洗牌吗?

    Update 请将其归档到 坏主意 下 生活中没有任何东西是免费得到的 这就是证据 一个简单的想法却变坏了 但这绝对是值得学习的东西 惰性编程挑战 如果我传递一个函数 该函数对于 qsort 的比较函数返回 50 50 返回 true 或
  • 红宝石确定季节(秋季、冬季、春季或夏季)

    我正在编写一个脚本 该脚本应该根据日期范围确定一年中的 季节 例如 January 1 April 1 Winter April 2 June 30 Spring July 1 September 31 Summer October 1 D
  • 如何处理 JOptionPane 中的取消按钮

    I had created a JOptionPane of type showInputDialog When it opens it it shows me two buttons OK and Cancel I would like
  • 未捕获的引用错误:ga 未定义

    我想知道人们点击某个特定按钮的次数 使用谷歌分析应该非常简单 但是 我在谷歌控制台上遇到了 未捕获的引用错误 ga未定义 错误 并且找不到如何修复它 我在头部添加了这个
  • 在 Android 上将 USB 波特率从 9600 更改为 115200

    我有一个 Arduino 它以 115200 波特率串行发送数据 有一个应用程序以 9600 波特率从 Arduino 接收数据 代码是 Arduino USB serial converter setup Set control line