c++调用CSerial 库函数进行串口发送

2023-05-16

毕设做的东西要用到这个,请学弟帮忙收集了下,自己也做个整理.

完整实验项目下载:
https://download.csdn.net/download/a897180673/10310065

用到的硬件:
1.ch340 土豪金模块
2.arduino

首先是连接:
1.ch340一端插在电脑上,一端通过杜邦线和arduino相连
ch340和arduino的连接如下:

一共4个引脚
5v—5v
gng—gnd
txd—rxd
rxd—txd

这里写图片描述

最终的连接效果 连接如下:
(图片传上去倒过来了,还改不过来)
这里写图片描述

硬件搭建ok后开始编写代码
arduino 13号引脚是和板载的LED相连接的,只要让13号引脚输出高电平,LED就会亮,反之就会熄灭用
用c++向arduino 的串口发送a,arduino 就把13号引脚输出高,发送b,arduino就把13号引脚输出低

下面是代码,首先是arduino的

void setup() {
Serial.begin(9600);
pinMode(13,OUTPUT);

}

void loop() {
char x;
if(Serial.available())
{
  x=Serial.read();
  if(x=='a'){
    digitalWrite(13,HIGH);
  }
  if(x=='b'){
    digitalWrite(13,LOW);
  } 
}
}

arduino不停的检测串口,如果ch340发送数据,arduino就会收到,并进行相应的亮灯 和 灭灯的操作

下面是重点了 也就是c++操作ch340串口,并进行串口的数据发送

这里要引入serial的头文件
具体的可以去上面下载完整的工程

工程结构:

这里写图片描述

下面主要看下main.cpp

#include<iostream>
#include"Serial.h"
#include <TCHAR.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
#include <sstream>

CSerial serial;

void  serialInit() {
    serial.OpenSerialPort(_T("COM9:"), 9600, 8, 1);
}
void Send(char x) {
    serial.SendData(&x,1);
}
int main(int argc, char** argv) {
    serialInit();
    char a;
    while (1) {
        cin >> a;
        Send(a);
    }
    return 0;
}

主要就是定义一个串口类 ,然后调用send方法,程序运行后输入a,按回车.这个时候就可以发现arduino收到a,并且板载led亮了,带L标志的小灯

这里写图片描述

在发送 b,带L标志的小灯就灭了

这里写图片描述

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

c++调用CSerial 库函数进行串口发送 的相关文章

  • 【QT】手把手制作一个QT网络调试助手(准备阶段)

    目录 1 新建一个工程 2 mainwindow ui设计 2 1 对窗口主体进行栅格化布局 2 2 添加网络通信配置GroupBox 2 2 1 填充内容 2 2 2 栅格布局GroupBox 2 3 总结 3 Pro程序配置 4 头文件
  • 【PR】PR视频剪辑实用技巧

    1 两个视频叠加 1 首先 xff0c 找到要导入的视频所在文件夹 xff0c 将视频拖动到项目面板中 按住Ctrl拖动视频再复制两个视频 2 将素材视频分别拖入到序列的 视频轨道1 2 3 3 点击选中轨道1上的视频 xff0c 在源面板
  • 【Project】项目管理软件学习笔记

    一 前言 使用Project制定项目计划步骤大致如下 xff1a 以Project2013为例 xff0c 按照上图步骤指定项目计划 二 实施 2 1 创建空白项目 点击文件 新建 空白项目 xff0c 即完成了空白项目的创建 xff0c
  • 【硬件】P沟道和N沟道MOS管开关电路设计

    场效应管做的开关电路一般分为两种 xff0c 一种是N沟道 xff0c 另一种是P沟道 xff0c 如果电路设计中要应用到高端驱动 的话 xff0c 可以采用PMOS来导通 P沟道MOS管开关电路 PMOS的特性 xff0c Vgs小于一定
  • 多线程基础之七:多线程遇上printf的“延迟写”策略

    0 运行库提供的IO读写函数采用 延迟写 策略的原因 编程时经常会用到printf 函数 xff0c 但是由于printf 函数涉及到和显示器或磁盘等外设进行交互 xff0c 所以操作涉及到从 用户态 gt 内核态 gt 返回用户态 的一系
  • VC和VS区别

    S是Visual Studio xff0c 它是微软提供的一个工具集 xff0c 由各种各样的工具组成 VS可以支持C C 43 43 VB JAVA C 编程 然了一次只能支持一种编程方式 在VS安装完成 xff0c 第一次运行的时候会让
  • 【potplayer安装及设置LAV Splitter】

    potplayer安装及设置LAV Splitter 下载及安装Lav Splitter解码器配置Lav Splitter解码器 potplayer是一款windows平台上一款轻量功能强大的播放器 xff0c 它界面简洁 xff0c 功能
  • 关于头文件的相互包含

    编程过程中 xff0c 经常会碰到头文件的相互包含 xff0c 如果处理不慎 xff0c 就会报错 比如在头文件A h中有如下代码 xff08 代码中的B Handle是在头文件B h中定义的 xff09 xff1a span class
  • Python list中去重的多种方法

    去重之后顺序会改变 set去重 列表去重会让列表改变原来的顺序 l1 61 1 4 4 2 3 4 5 6 1 l2 61 list set l1 print l2 1 2 3 4 5 6 但是 xff0c 可以通过列表中索引 xff08
  • TI学习笔记之“振动补偿算法”

    一些应用中 xff0c 负载和机械角度有关 xff0c 比如空调压缩机 典型压缩机应用的负载曲线如下图所示 xff0c 不难发现 xff0c 在一个机械周期内 xff0c 负载和机械角度存在一定的关系 xff0c 这种情况在转子式压缩机中尤
  • “compilerPath“的问题

    在c cpp properties josn文件中 xff0c complierPath的问题解决如下 如果正在编译c 43 43 文件 xff0c 先在终端输入which g 43 43 我的弹出了 usr bin g 43 43 把这个
  • Digest Authentication Response 如何计算

    Session Initiation Protocol NOTIFY Request Line NOTIFY sip 192 168 125 130 5060 SIP 2 0 Method NOTIFY Request URI sip 19
  • ROS-Melodic 编译Moveit全过程记录和错误解决方案

    ROS Melodic 编译Moveit全过程记录和错误解决方案 在Ros Melodic版本下 xff0c 直接运行sudo apt get install ros melodic moveit会出现以下错误 xff1a 下列软件包有未满
  • Jetson TX2在ROS下使用Realsense D435i跑rtabmap、octomap、VINS-Mono和ORB-SLAM2

    使用环境 xff1a Ubuntu 16 04 JetPack 3 3 xff0c ROS Kinetic硬件设备 xff1a 英伟达Jetson TX2 xff0c 英特尔Realsense D435i 安装Realsense相关的相机驱
  • C++实现流式socket聊天程序

    目录 协议设计 消息的类型 消息的语法 消息的语义 消息的处理 发送消息 接收消息 程序设计 模块的划分和功能 Client客户端 Server服务器 模块流程图 程序实现 辅助代码 client cpp server cpp 程序测试 本
  • STM32 串口 FIFO

    使用FIFO实现串口数据的收发功能 FIFO的相关实现参照链接 xff1a CSDN https mp csdn net mp blog creation editor 120448361 1 Cubemx串口配置 使用Cubmx对串口进行
  • C Primer Plus

    C Primer Plus作为一本被人推崇备至的c入门经典 xff0c C primer plus绝非浪得虚名 应该算得上C教材里最好的入门书了 在知识广度上 xff0c 很少有书能匹及 它能为你系统学习c提供一个良好的平台 作者对c的见解
  • Python 如何处理大文件

    Python作为一门程序设计语言 xff0c 在易读 易维护方面有独特优势 xff0c 越来越多的人使用 Python 进行数据分析和处理 xff0c 而 Pandas 正是为了解决数据分析任务而创建的 xff0c 其包含大量能便捷处理数据
  • C++构造DHCP Discovery报文并使用socket发送

    DHCP由BOOTP协议发展而来 xff0c 而后者基于UDP IP协议 xff0c 这使得使用socket发送DHCP报文成为可能 本文示例构造了DHCP Discovery报文并调用socket接口发送 xff0c 值得注意的是 xff
  • pycharm 常用快捷键整理

    pycharm常用快捷键 1 编辑 xff08 Editing xff09 Ctrl 43 Space 基本的代码完成 xff08 类 方法 属性 xff09 Ctrl 43 Alt 43 Space 快速导入任意类 Ctrl 43 Shi

随机推荐

  • RTT串口V1版本的使用分析及问题排查指南(一)

    本文由RT Thread论坛用户123原创发布 xff1a https club rt thread org ask article 2894 html RTT串口V1版本的使用分析及问题排查指南 一 简述 无论是刚接触 RT Thread
  • 总结基于寄存器与基于固件库stm32编程的差异

    基于寄存器与基于固件库stm32编程方式有什么差异 总的来说是专业层面或者说是应用层面的区别 总的来说是专业层面或者说是应用层面的区别 从应用角度讲 xff0c 寄存器相对来说是属于更底层的 xff0c 类似于驱动层 xff0c 而固件库则
  • Python 3中HTTPparse 的使用

    在python中能够进行html和xhtml的库有很多 xff0c 如HTMLParser sgmllib htmllib BeautifulSoup mxTidy uTidylib等 xff0c 这里介绍一下HTMLParser Beau
  • STorM32三轴云台控制器PID参数调节(1)

    本文是一篇利用STorM32板子控制三轴云台的经验贴 xff0c 内容包括从所有的硬件到位开始到pid参数调节完成中的一些经验 xff0c 完成这一步后 xff0c 就可以拥有一个稳定的云台了 本文是基于 STorM32 BGC32Bit
  • Centos libevent install

    1 下载安装包 xff1a 官网 http libevent org libevent 2 1 8 stable tar gz 2 解压 tar zxvf libevent 2 1 8 stable tar gz 3 进入目录 cd lib
  • windows waveIn 录音

    windows waveIn 录音 编写背景1查找设备2 根据设备名称找到设备3 打开设备4 开始录音5 结束录音 编写背景 windows xp 系统不支持 WASAPI xff0c 选择 waveIn API 1查找设备 获取音频设备数
  • waveIn 录音遇到的问题与解决方案

    问题点 1 录音过程中拔出设备 xff0c 程序死锁 添加缓存的之前需要检查设备是否存在 case WIM DATA if xff08 is device exsit xff09 设备是否存在 xff0c 可以通过获取设备信息来判断 预处理
  • vs2013编译32位的libcurl

    编译 libcurl 下载 CURL源码打开 VS2013 x86 本机工具命令提示cd 进入 curl 源码 winbuild 目录执行命令 xff1a nmake f Makefile vc mode 61 static VC 61 1
  • python两个列表获取交集,并集,差集

    list1 61 1 2 3 4 5 6 list2 61 2 3 4 交集 方法一 xff1a list3 61 new for new in list1 if new in list2 方法二 xff1a list3 61 list s
  • FFMPEG 指令

    ffplay 拉取流 ffplay exe i rtmp address fflags nobuffer ffmpeg commend lines 只推屏幕 dshow 模式 ffmpeg ffmpeg exe f dshow i vide
  • 电子罗盘

    电子罗 种重要的导航工具 xff0c 能实时提供移动物体的航向和姿态 随着半导体工艺的进步和手机操作系统的发展 xff0c 集成了越来越多传感器的智能手机变得功能强大 xff0c 很多手机上都实现了电子罗盘的功能 而基于电子罗盘的应用 xf
  • C++中的.和::和:和->的区别

    在学习C 43 43 的过程中我们经常会用到 和 和 xff1a 和 gt xff0c 在此整理一下这些常用符号的区别 1 A B则A为对象或者结构体 xff1b 2 A gt B则A为指针 xff0c gt 是成员提取 xff0c A g
  • STM32 HAL库函数学习 UART篇

    从今天开始定时更新一下有关STM32 HAL库学习的过程 xff0c 主要是对HAL库函数的所有讲解 本章是关于uart串口的函数 1 HAL UART Init xff08 UART HandleTypeDef husart xff09
  • 常见排序算法性能分析比较(快排,希尔,堆排,归并,插入排序等)

    文章目录 1 各种排序算法实现及其特点1 1 直接插入排序1 2 希尔排序1 3 直接选择排序1 4 堆排序1 5 冒泡排序1 6 快速排序1 7 归并排序1 8 计数排序 2 排序算法复杂度及稳定性分析 1 各种排序算法实现及其特点 1
  • 将visdrone数据集转化为coco格式并在mmdetection上训练,附上转好的json文件

    visdrone是一个无人机的目标检测数据集 xff0c 在很多目标检测的论文中都能看到它的身影 标签从0到11分别为 ignored regions pedestrian people bicycle car van truck tric
  • mmdetection --tools工具简单使用1

    文章目录 demo使用单张图片测试 image demo py视屏推理 video demo py本地摄像头测试 xff1a webcam demo py 测试现有模型 test py单 GPU 测试多 GPU 测试 训练 train py
  • 网络---IP地址和端口

    1 网络分类 根据网络大小 xff1a 局域网 xff0c 城域网 xff0c 广域网 xff08 互联网 61 因特网 更大的广域网 xff09 根据网络的组网方式 xff1a 以太网 xff0c 令牌环网 2 IP地址 计算机网络 IP
  • 网络---协议(TCP/IP五层模型)

    文章目录 1 xff34 xff23 xff30 xff0f xff29 xff30 五层模型1 1 分层1 2 封装1 3 分用 协议 即一种约定 网络通信协议 xff1e 网络通信中的数据的格式约定 协议分层 xff1a 一些组织为了能
  • xml 中的 大于号,小于号

    amp lt lt 小于号 amp gt gt 大于号 amp amp amp 和 amp apos 单引号 amp quot 34 双引号
  • c++调用CSerial 库函数进行串口发送

    毕设做的东西要用到这个 请学弟帮忙收集了下 自己也做个整理 完整实验项目下载 https download csdn net download a897180673 10310065 用到的硬件 1 ch340 土豪金模块 2 arduin