- 博客(238)
- 收藏
- 关注
原创 Qt 串口通信(C++)
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。当计算机发送一个信息包,实际的数据往往不会是8位的,标准的值是6、7和8位。
2024-08-08 16:39:44
2285
2
原创 QSlider 设置样式
QSlider是Qt框架中的一个控件,用于实现滑动条的功能。滑动条是用户界面中的常用控件之一,可以通过拖动滑块来选择一个值,或者通过点击滑条上的位置来快速定位。
2024-08-08 15:43:01
977
原创 Qt使用snap7与PLC通信(smart200)
Snap7的特点包括轻量级、高效、开源,并且支持多种操作系统,如Windows、Linux、Mac等。此外,它还支持多种编程语言,如C#、VB、C/C++、Python、Java、Delphi、LabView等。Snap7底层使用TCP/IP协议进行通讯,具有快速、稳定的优势,并提供了各种安全机制,如登录、注销、连接保持等功能,有效保障了PLC通信的稳定性和安全性。总的来说,Snap7是一个功能强大、易于使用、支持多平台和多编程语言的开源库,适用于需要进行PLC通信的应用场景。
2024-08-08 15:13:36
654
原创 VS中配置Halcon环境
项目->属性-> C/C++ 常规 ->附加包含目录->添加include和include\halconcpp目录。目录如下:(在你halcon的安装目录下找到include和include\halconcpp目录)路径如下:D:\HALCON\HALCON-22.11-Progress\lib\x64-win64。项目->属性 -> 链接器 -> 常规 -> 附加库目录->添加Halcon库文件的路径。项目->属性 -> 链接器 -> 输入 -> 附加依赖项中->添加Halcon的库文件。
2024-07-24 09:42:08
340
原创 Halcon与C++之间的数据转换
HALCON的HTuple类型(元组)功能很强大,可以表示INT、double、string等多种类型数据。当元组中只有一个成员时,HTuple也可表示原子类型。
2024-07-15 18:15:42
659
原创 kotlin 程序 编译与执行
用来设置编译输出的名称,可以是 class 或 .jar 文件,也可以是目录。让 .jar 文件包含 Kotlin 运行库,从而可以直接运行。
2024-03-14 10:40:23
985
原创 Linux C/C++ 信号相关操作
让我们编写一个简单的 C++ 程序,使用 signal() 函数捕获 SIGINT 信号。不管您想在程序中捕获什么信号,您都必须使用 signal 函数来注册信号,并将其与信号处理程序相关联。C++ 信号处理库提供了 signal 函数,用来捕获突发事件。这个函数接收两个参数:第一个参数是一个整数,代表了信号的编号;第二个参数是一个指向信号处理函数的指针。SIGFPE 错误的算术运算,比如除以零或导致溢出的操作。SIGABRT 程序的异常终止,如调用 abort。SIGTERM 发送到程序的终止请求。
2024-02-18 17:04:28
634
1
原创 std::function 简介
std::function的实例可以存储、复制和调用任何可复制构造的可调用目标,包括普通函数、成员函数、类对象(重载了operator()的类的对象)、Lambda表达式等。是对C++现有的可调用实体的一种类型安全的包裹(相比而言,函数指针这种可调用实体,是类型不安全的)。std::function中存储的可调用对象被称之为std::function的目标。若std::function中不含目标,调用不含目标的std::function会抛出std::bad_function_call 异常。
2023-09-11 17:16:05
413
原创 no matching member function for call to ‘connect‘
QT5 no matching member function for call to ‘connect‘
2022-07-23 10:11:20
883
原创 ubuntu 将python2更新为python3
下载python3安装包Ubuntu很多底层采用的是Python2.*,Python3和Python2是互相不兼容的,所以此时不能卸载Python2,需要将默认Python的指向Python3。刚才的Python3是被默认安装带usr/local/lib/python3.2目录中更改python指向位置ln -sf /usr/local/bin/python3.2 /usr/bin/python查看版本号python --version...
2022-05-08 00:11:49
1336
原创 单例模式(C++实现)
class Single{private: Single(){}; static Single* instance; virtual ~Single(void){}public: int val; static Single* GetInstance() { if (instance == nullptr) { instance = new Single(); } return instance; }};Single * Single::instance =
2022-04-21 22:03:29
804
原创 判断一个点是否在三角形内部
#include <iostream>#include <math.h>using namespace std;struct Point { double x; double y;};double getDist(Point p1,Point p2) { //两点之间计算距离公式 return sqrt(pow(p1.x-p2.x,2) + pow(p1.y-p2.y,2));}double getArea(Point p1,Poin
2022-04-07 00:03:11
526
原创 8. 字符串转换整数 (atoi)
class Solution {public: int myAtoi(string s) { long res = 0; int flag = 1;//正负号 int index = 0; while(index < s.size() && s[index] == ' ')//去除空格 { ++index; } if(s[in
2022-04-01 23:51:43
249
原创 双向链表的插入与删除
struct doubleList{ int val; doubleList * left; doubleList * right; doubleList(int num) : val(num), left(nullptr), right(nullptr) {}};//1.实现双向链表, 在节点P后插入一种节点bool insertNode(doubleList * p, int num){ doubleList * node = new doubleList(num); dou
2022-03-31 17:40:32
379
原创 C++ 左值,右值与将亡值
1. 左值与右值在C++11之前的版本,基本沿用了C语言之中对于左值与右值的定义:“在C++之中的变量只有左值与右值两种:其中凡是可以取地址的变量就是左值,而没有名字的临时变量,字面量就是右值”。 正是因为这两种变量分别位于=的左右两侧,所以被命名为左值与右值。2. 将亡值在C++11扩展了右值的的概念,将右值分为了纯右值(pure rvalue)与将亡值(eXpiring Value)。纯右值的概念等同于我们之前所理解的右值,指的是临时变量或字面量值;而将亡值是C++11新引入的概念,它依托于右值
2022-03-08 17:38:06
989
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人