当前位置: 首页 > news >正文

win10系统rust串口通信实现

一、用cargo创建新工程

命令:cargo new comport

use std::env;
use std::{thread, time};
use serialport::{DataBits, StopBits, Parity, FlowControl};
use std::io::{self, Read, Write};
use std::time::Duration;fn main() -> io::Result<()> {let mut args: Vec<String> = env::args().collect();if args.len() < 1+3 {println!("{} ComPort Baudrate Command [DelayMS]",args[0]);std::process::exit(-1);}let mut duration: u64 = 100;//secondsif args.len() > 1+3 {duration = args[args.len()-1].parse::<u64>().unwrap();}let mut port = serialport::new(&args[1], args[1+1].parse::<u32>().unwrap()).data_bits(DataBits::Eight).stop_bits(StopBits::One).parity(Parity::None).flow_control(FlowControl::None).timeout(Duration::from_secs(1)).open()?;let offset = 1+1+1;args[offset]=args[offset].replace("\\r", "\r");args[offset]=args[offset].replace("\\n", "\n"); let data = &args[offset];port.write_all(data.as_bytes())?;thread::sleep(time::Duration::from_millis(duration));let mut buffer: Vec<u8> = vec![0; 80000000];let bytes_read = port.read(buffer.as_mut_slice())?;let received_data = String::from_utf8_lossy(&buffer[..bytes_read]);println!("Received: {}", received_data);Ok(())}

二、进入到新建工程文件夹并编译

命令:cd ./comport && cargo build

三、运行上面编译的工程

命令:cargo run COM6 921600 "AT\n"

相关文章:

win10系统rust串口通信实现

一、用cargo创建新工程 命令&#xff1a;cargo new comport use std::env; use std::{thread, time}; use serialport::{DataBits, StopBits, Parity, FlowControl}; use std::io::{self, Read, Write}; use std::time::Duration;fn main() -> io::Result<()> {let m…...

新生代与老年代

在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;内存被划分为多个不同的区域&#xff0c;其中包括新生代&#xff08;Young Generation&#xff09;和老年代&#xff08;Old Generation&#xff09;。 新生代是用于存储新创建的对象的区域。大多数对象在创建后很快就变…...

Microsoft正在将Python引入Excel

Excel和Python这两个世界正在碰撞&#xff0c;这要归功于Microsoft的新集成&#xff0c;以促进数据分析和可视化 Microsoft正在将流行的编程语言Python引入Excel。该功能的公共预览版现已推出&#xff0c;允许Excel用户操作和分析来自Python的数据。 “您可以使用 Python 绘图…...

知识速递(六)|ChIP-seq分析要点集锦

书接上文组学知识速递&#xff08;五&#xff09;|ChIP-seq知多少&#xff1f;&#xff0c;当我们实验完成&#xff0c;拿到下机数据之后&#xff0c;我们最关心的就是&#xff0c;这个数据能不能用&#xff1f;所谓数据能不能用&#xff0c;其实我们会重点关注以下问题&#x…...

【附安装包】EViews 13.0安装教程|计量经济学|数据处理|建模分析

软件下载 软件&#xff1a;EViews版本&#xff1a;13.0语言&#xff1a;英文大小&#xff1a;369.46M安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU2.0GHz 内存4G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://pan.baidu.com…...

Java 语言实现快速排序算法

【引言】 快速排序算法是一种常用且高效的排序算法。它通过选择一个基准元素&#xff0c;并将数组分割成两个子数组&#xff0c;一边存放比基准元素小的元素&#xff0c;另一边存放比基准元素大的元素。然后递归地对这两个子数组进行排序&#xff0c;最终达到整个数组有序的目的…...

Config: Git 环境搭建

...

最新AI系统ChatGPT网站程序源码/搭建教程/支持GPT4.0/Dall-E2绘画/支持MJ以图生图/H5端/自定义训练知识库

一、正文 SparkAi系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。 那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧&#xff01…...

leetcode 392. 判断子序列

2023.8.25 本题要判断子序列&#xff0c;可以使用动态规划来做&#xff0c;定义一个二维dp数组。 接下来就是常规的动态规划求解子序列的过程。 给出两种定义dp数组的方法。 二维bool型dp数组&#xff1a; class Solution { public:bool isSubsequence(string s, string t) …...

课程项目设计--spring security--认证管理功能--宿舍管理系统--springboot后端

写在前面&#xff1a; 还要实习&#xff0c;每次时间好少呀&#xff0c;进度会比较慢一点 本文主要实现是用户管理相关功能。 前文项目建立 文章目录 验证码功能验证码配置验证码生成工具类添加依赖功能测试编写controller接口启动项目 security配置拦截器配置验证码拦截器 …...

【算法日志】动态规划刷题:完全背包应用问题(day39)

代码随想录刷题60Day 目录 前言 零钱兑换 完全平方数 前言 今天重点是对完全背包问题进一步了解&#xff0c;难度不大&#xff0c;重点是区分与其他背包问题在初始和遍历上的一些细节。 零钱兑换 int coinChange(vector<int>& coins, int amount) {if (!amount)re…...

基于Python的图书馆大数据可视化分析系统设计与实现【源码+论文+演示视频+包运行成功】

博主介绍&#xff1a;✌csdn特邀作者、博客专家、java领域优质创作者、博客之星&#xff0c;擅长Java、微信小程序、Python、Android等技术&#xff0c;专注于Java、Python等技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; …...

cmake 交叉编译应用程序:手动设置链接脚本

前言 在使用 cmake 交叉编译应该应用程序时&#xff0c;好像没有手动设置【链接脚本】&#xff0c;也能正常构建生成 Makefile&#xff0c;并且可以正常 Make 生成需要的 应用程序。 但是有些应用程序&#xff0c;需要手动指定【链接脚本】&#xff0c;比如修改链接地址&#…...

深入探讨Eureka的三级缓存架构与缓存运行原理

推荐阅读 AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 史上最全文档AI绘画stablediffusion资料分享 AI绘画关于SD,GPT,SDXL等个人总结文档 资源分享 「java、python面试题…...

leetcode496. 下一个更大元素 I 【单调栈】

【简单题】&#xff08;暴力遍历法很简单&#xff09;但是时间复杂度很高&#xff0c;n的立方级别了。。。 代码&#xff1a; class Solution { public:vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {vector<int&g…...

Fastadmin框架 聚合数字生活抵扣卡系统v2.8.6

【2.8.6更新公告】 1.【优化】优化已知问题。 2.【新增 】新增区县影院。...

windows下MSYS、MinGW编译环境使用网络API时报错:undefined reference to `inet_pton‘解决办法

windows下MSYS、MinGW编译环境使用网络API时报错&#xff1a;undefined reference to inet_pton’解决办法 mingw-gcc环境使用网络需要加上库 -lws2_32。 如果是使用的是Qt Creator那么需要在.pro文件中加入一行&#xff1a;win32:LIBS -lws2_32。 当在项目中使用inet_pton、…...

unity-AI自动导航

unity-AI自动导航 给人物导航 一.地形创建 1.首先我们在Hierarchy面板中创建一个地形对象terrian&#xff0c;自行设定地形外貌&#xff0c;此时我们设置一个如下的地形外观。 二.创建导航系统 1.在主人公的Inspector、面板中添加Nav Mesh Agent &#xff08;导航网格代理&…...

使用create-react-app创建react项目

create-react-app 全局安装create-react-app npm install -g create-react-app 使用create-react-app创建一个项目 $ create-react-app your-app 注意命名方式Creating a new React app in /dir/your-app.Installing packages. This might take a couple of minutes. 安装过…...

12.串,串的存储结构与模式匹配算法

目录 一. 一些术语 二. 串的类型定义 &#xff08;1&#xff09;串的顺序存储结构 &#xff08;2&#xff09;串的链式存储结构 三. 串的模式匹配算法 &#xff08;1&#xff09;BF算法 &#xff08;2&#xff09;KMP算法 四. 案例实现 串(String)---零个或多个任意字符…...

2026年03月26日全球AI前沿动态

一句话总结全球AI领域密集发布技术、产品、企业动态&#xff0c;覆盖通用/垂直大模型、专项技术、智能体、机器人、硬件基建等全赛道&#xff0c;中国AI在视频、音乐、办公智能体领域领跑&#xff0c;OpenAI关停Sora战略转型&#xff0c;Arm、苹果、腾讯等大厂新品落地&#xf…...

从AlexNet到MobileNet:深度可分离卷积如何用1/4参数量实现高效推理?

从AlexNet到MobileNet&#xff1a;深度可分离卷积如何用1/4参数量实现高效推理&#xff1f; 在移动互联网时代&#xff0c;AI模型部署正经历从云端到边缘的范式转移。当我们谈论"高效推理"时&#xff0c;实际上是在探讨一个核心矛盾&#xff1a;如何在有限的硬件资源…...

TikTok零/低播放突围:跨境账号实战破局指南

图片来源&#xff1a;TK云大师0播放或低播放是TikTok跨境从业者的高频痛点——行业数据显示&#xff0c;超68%新手账号遇初始零播放&#xff0c;45%带货账号因持续低播放停摆。耗时制作的内容无人问津&#xff0c;既耗资源又乱节奏。结合实操经验&#xff0c;本文从排查、挽救、…...

牛顿-拉夫逊法在电力系统中的5个常见误区:从Matpower仿真结果反推算法原理

牛顿-拉夫逊法在电力系统中的5个常见误区&#xff1a;从Matpower仿真结果反推算法原理 当你在Matpower中运行潮流计算时&#xff0c;是否遇到过迭代不收敛的报错&#xff1f;那些看似简单的"Maximum number of iterations reached"警告背后&#xff0c;往往隐藏着对牛…...

当3D高斯遇上AIGC:手把手拆解G4SPLAT如何用视频扩散模型修复未观测区域

当3D高斯遇上AIGC&#xff1a;G4SPLAT如何用生成式AI重塑三维重建 在计算机视觉领域&#xff0c;三维场景重建一直是个令人着迷又充满挑战的问题。想象一下&#xff0c;你手持手机在房间里随意拍摄几段视频&#xff0c;AI就能自动生成这个房间的完整三维模型——包括那些你根本…...

H3C交换机堆叠配置实战:从零开始搭建企业级网络环境

H3C交换机堆叠配置实战&#xff1a;从零开始搭建企业级网络环境 在中小型企业的网络架构中&#xff0c;交换机堆叠技术正逐渐成为简化管理、提升可靠性的标配方案。想象一下&#xff0c;当你的机房需要扩容时&#xff0c;不再需要逐台配置新交换机&#xff0c;所有设备如同一个…...

蓝桥杯嵌入式备赛:STM32G431引脚复用功能表,一张图搞定定时器与ADC配置

蓝桥杯嵌入式备赛&#xff1a;STM32G431引脚复用功能实战指南 在蓝桥杯嵌入式赛场上&#xff0c;STM32G431作为官方指定开发平台的核心控制器&#xff0c;其引脚复用功能的灵活配置往往是决定项目成败的关键。许多参赛选手在紧张激烈的比赛中&#xff0c;常常因为引脚配置错误…...

FanControl深度应用指南:从噪音溯源到智能散热系统搭建

FanControl深度应用指南&#xff1a;从噪音溯源到智能散热系统搭建 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/f…...

语义分割竞赛必备:5种Loss函数组合效果对比(含Dice+Focal Loss调参指南)

语义分割竞赛进阶&#xff1a;5种损失函数组合实战评测与调参策略 在Kaggle等数据竞赛中&#xff0c;语义分割任务的性能提升往往取决于损失函数的巧妙选择与组合。不同于常规分类任务&#xff0c;多类别像素级预测需要处理极端类别不平衡、边界模糊等独特挑战。本文将深入剖析…...

Qwen3-ASR-1.7B新手必看:常见问题解决,音频格式、长音频处理技巧

Qwen3-ASR-1.7B新手必看&#xff1a;常见问题解决&#xff0c;音频格式、长音频处理技巧 1. 引言&#xff1a;语音识别模型的基础认知 语音识别技术正在改变我们处理音频数据的方式。Qwen3-ASR-1.7B作为一款多语言语音识别模型&#xff0c;为开发者提供了强大的离线转写能力。…...