【串口收发数据】热成像模组使用

本文介绍了如何使用C++和Python进行串口通信,以操作热成像模组收发数据,主要用于体温检测。在C++中,通过VS2019编写了相关代码,而在Python中则利用了serial库,实现过程相对简单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近搞了一个热成像模组,收发数据用来检测体温,找了一下串口收发数据的应用

方法一:

利用VS2019写的C++代码,尝试成功,记录下来,以备不时之需。

代码如下:

1、cap_tem.h文件


#ifndef _WZSERIALPORT_H
#define _WZSERIALPORT_H
#include<iostream>
#include <string>
#include <vector>
using namespace std;


class WZSerialPort
{
public:
	WZSerialPort();
	~WZSerialPort();

	// 打开串口,成功返回true,失败返回false
	// portname(串口名): 在Windows下是"COM1""COM2"等,在Linux下是"/dev/ttyS1"等
	// baudrate(波特率): 9600、19200、38400、43000、56000、57600、115200 
	// parity(校验位): 0为无校验,1为奇校验,2为偶校验,3为标记校验
	// databit(数据位): 4-8,通常为8位
	// stopbit(停止位): 1为1位停止位,2为2位停止位,3为1.5位停止位
	// synchronizable(同步、异步): 0为异步,1为同步
	//在这里已经对配置进行了初始化,你们可以自己改配置使用
	bool open(const char* portname, int baudrate = 115200, char parity = 0, char databit = 8, char stopbit = 1, char synchronizeflag = 1);

	//关闭串口,参数待定
	void close();

	//发送数据或写数据,成功返回发送数据长度,失败返回0
	int send(string dat);

	//接受数据或读数据,成功返回读取实际数据的长度,失败返回0
	string receive();


	vector<unsigned char> revcmsg;

private:
	int pHandle[16];
	char synchronizeflag;



};

#endif

2、cap_tem.cpp


#include "cap_tem.h"

#include <stdio.h>
#include <string.h>

#include <WinSock2.h>
#include <windows.h>



WZSerialPort::WZSerialPort()
{

}

WZSerialPort::~WZSerialPort()
{

}

bool WZSerialPort::open(const char* portname,
	int baudrate,
	char parity,
	char databit,
	char stopbit,
	char synchronizeflag)
{
	this->synchronizeflag = synchronizeflag;
	HANDLE hCom = NULL;
	if (this->synchronizeflag)
	{
		//同步方式
		hCom = CreateFileA(portname, //串口名
			GENERIC_READ | GENERIC_WRITE, //支持读写
			0, //独占方式,串口不支持共享
			NULL,//安全属性指针,默认值为NULL
			OPEN_EXISTING, //打开现有的串口文件
			0, //0:同步方式,FILE_FLAG_OVERLAPPED:异步方式
			NULL);//用于复制文件句柄,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值