自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (10)
  • 收藏
  • 关注

原创 VS2019+CAXACAD2023二次开发教程(一、环境搭建)

CAXACAD2023的二次开发相关文件和库都在的文件夹下。CAXACAD2023的默认开发环境是VS2019,如果是用VS2019的环境话,可以直接安装这个插件,安装好后就可以一键新建的项目,新建的项目会自动帮我们配置好所有的环境,并且生成必要的代码和初始的框架。(本来想用VS2022的,但配置环境太麻烦,用VS2022,增加一个环境变量是可以运行自带的例程的,但新建项目要配置的东西和环境太多,就放弃折腾了)

2024-02-04 17:04:49 2627

原创 jekyll+GithubPage搭建一个免费的个人网站

虽然也可以直接不搭建本地环境,直接在githubpage上操作看效果。但在本地调试更有效率。然后就可以进入网页了。,检查是否成功安装。

2023-04-23 15:31:00 765

原创 window11开启wsl2

wsl可以安装多个linux的子系统,可以用wsl -l -v命令来查看,当前的子系统列表:VERSION 代表的当前使用的是WSL2。

2023-04-20 00:23:42 4989

原创 树莓派4b+mcp2515实现CAN总线通讯和系统编程(一.配置树莓派CAN总线接口)

树莓派本身是没有CAN通讯能力的,但他有mcp2515模块的驱动,可以通过SPI来控制mcp2515进行CAN的通讯。本章主要讲,如何使能树莓派的mcp2515驱动,然后用can-utils的工具来测试CAN的通讯。树莓派和mcp2515模块是通过spi进行通讯的,除了spi的4根线mosi、miso、sck、cs,和电源的vcc和gnd,我们还需要连接MCP2515的INT引脚。树莓派引脚图如下:树莓派的引脚分布参考:https://pinout.xyz/pinout/ground连线如下:树莓

2022-12-06 11:53:52 9285 2

原创 本地python连接腾讯云数据库

简单说下云数据库的概念,云的概念其实就是把网络上的服务虚拟话,比如说没有云的时候,搭建数据库,得先有个服务器,就是一台电脑,有公网ip,然后在服务器上,安装mysql的服务端。这样就可以通过访问服务器,从而访问这个数据库。云的概念即是把服务器这个硬件概念淡化,把数据库服务这个概念单独拎出来,我们并不知道用的是哪块硬件安装了数据库服务,只需要在云上,有这么一个数据库。

2022-10-21 10:39:06 2380

原创 结构体初值设置问题小记

在搞esp32 ota功能的时候,esp32一加上空中升级的功能,就不断重启。查了两天,才发现是结构体初始化赋值的问题。

2022-10-20 15:26:40 373

原创 vscode+miniconda设置

打开vscode设置,搜索@feature:terminal Profiles: Windows,点击在settings.json中编辑。配置vscode的终端,可以方便使用miniconda.

2022-10-17 22:50:24 2493

原创 esp32+vscode环境搭建速记

建议按照入下步骤进行,在vscode插件里安装esp32idf,或者用在线的下载器安装会出现一些莫名奇妙的问题。

2022-09-21 15:50:01 1008

原创 PID算法数学原理

上式就是位置式PID算法的离散描述公式。从数学公式我们可以看出,位置式PID算法计算的结果与每一时刻的err值都有关,这样就很容易产生累计误差。所以我们需要这个公式的变形,来解决增量误差过大的问题。PID的连续方程如下,TI是积分时间常数,它表示积分速度的大小,TI越大,积分速度越慢,积分作用越弱。TD是微分时间常数,TD越大微分作用越强。用k时刻的PID输出减去k-1时刻的PID输出,我们可以得到增量式PID公式。其中T是系统时间周期。由于T和TI和TD都是不随时间变化的常数,所以也可以简化记作。

2022-09-13 20:40:46 1066

原创 C++之const&constexpr

文章目录constconst修饰普通变量const修饰指针变量const修饰函数参数const修饰函数返回值const修饰成员变量constexprconstconst修饰普通变量 const int x = 12; const int y{13};const 修饰普通变量,要在声明时初始化,即声明并定义。任何修改该变量的行为在编译时就会出错。const修饰指针变量const修饰指针变量分为三种情况:const修饰指向的内容,内容不可变,但指针指向可以变。如const int *p =

2022-04-06 09:30:40 1234

原创 cmake总结

文章目录前言参考资料cmake最简单的cmake例子一个复杂的工程前言编译过程4步骤是:预处理=》编译=》汇编=》链接。所有的编译器将源码生成可执行文件或者so都是这四个步骤。但不同的平台使用的编译器或者说toolchain(工具链)并不相同,比如windows原生的工具链是MSVC,linux下原生的GCC。所以一套源码,在不同的平台可能就需要用不同的构建方法,如在windows可能需要弄一个VS的工程,而在linux平台就需要编写makefile。要分别GCC和gcc的概念,GCC原来是GNU

2022-03-28 01:14:03 290

原创 一道面试题--------[1,n]区间选k个数的组合排列

文章目录前言题目前言面试的时候需要手撕代码,面试官出了一道题,初看很简单,写起来却发现挺绕的,当时花了30分钟都绕明白,赶紧让面试官换了一道,第二道就简单一些,10分钟就写完了,还好有惊无险。其实是leetcode的一道题。这件事告诉了我,还是得有事没事儿,刷一刷leetcode,不说碰不碰到原题,一些算法思想还是得熟悉和巩固。题目题目是这样的,输入n和k,输出[1,n]区间,k个数的组合。Example:Input: n = 4, k = 2Output:[ [2,4], [3,

2021-10-25 17:24:07 790

原创 miniconda的安装和python环境搭建

文章目录前言下载minianaconda安装和配置安装注意配置更改镜像源创建虚拟环境和激活前言最近想用python去写一个写ini配置文件的工具,由于电脑现在的环境是python2的,想用python3的环境,又不想改变目前的环境,就准备重新安装一下anaconda。这篇博文记录一下,免得总是忘记。向我这样只是用python写写小脚本,推荐安装miniconda,而不是anaconda,因为很多包用不上。具体选择,可参考官方文档Anaconda or Miniconda?对于pip、conda、a

2021-09-08 22:41:08 13137

原创 Protobuf如何集成到C++环境中(QT5)

文章目录前言前言上一篇讲了如何用vs2019的编译工具msvc来编译生成protobuf的静态库,并在vs2019的工程里配置和使用。参考Protobuf如何集成到C++环境中(VS2019)。但如果想在windows上使用 QT+MinGW的方式来使用protobuf的库,用msvc编译的库就没有用了。...

2021-09-08 10:14:22 515

原创 用MSYS2安装mingw

文章目录前言卸载mingw安装MSYS2前言安装MSYS2的原因是,在windows安装protobuf时,想用mingw编译protobuf的库,而protobuf的官方手册只给出一句:To build from source using Cygwin or MinGW, follow the Unix installation instructions, above.这就非常尴尬,因为我不知道利用mingw来运行unix的命令。翻看了比较多的博客,stackoverflow一篇帖子刚好有解决

2021-09-07 16:13:13 6738

原创 Protobuf如何集成到C++环境中(VS2019)

文章目录前言下载安装Protocol Compiler和Protobuf Runtime前言Protobuf是一种数据交换格式,类似于Json和XML。但Portobuf序列化后的包的大小要比Json和XML小很多,解包的速度也要快很多。这就是为什么需要学Protobuf的原因,在追求通讯速度的环境下,Protobuf要优于Json和XML。但Protobuf唯一稍微麻烦的是,protobuf没有可读性,必须得借助工具来解析。这里我准备在QT中的UDP通讯使用Protobuf数据格式,选用的是prot

2021-09-03 15:46:47 3469 2

原创 QT5创建线程的两种方法(二)----QObject派生类加moveToThread

文章目录前言前言

2021-08-31 15:17:07 935

原创 boost下载和编译初步指南(windows10+VScode)

文章目录boost库介绍boost库介绍学boost库之前,应该先对STL(Standard Template Library)标准模板库已经有所了解,boost是对STL的一个补充,

2021-08-30 09:47:18 4489 1

原创 利用nodemcu和mqtt协议让嵌入式设备接入互联网(四.nodemcu使用mqtt协议发布话题)

文章目录前言nodemcu引脚介绍前言已经通过3篇博客,搭好了后端和前端的物联网,网络相关的东西了。最后一篇讲经济便宜的开源硬件nodemcu,nodemcu官网。其实nodemcu的硬件很简单,一块ams1117 3.3v的电源芯片加上一块esp8266。其创意性和便利性在于他的固件。它的固件将功能模块化,并且可以自己选择需要的固件进行编译然后烧录,在其固件的基础上,它使用lua脚本来编写应用程序,这样大大简化了应用层的开发难度。nodemcu引脚介绍...

2021-08-24 10:47:46 1315

原创 利用nodemcu和mqtt协议让嵌入式设备接入互联网(三.实现数据交互)

文章目录前言KOA2框架koa2初步使用koa示例代码解释koa-static中间件Aedesmqtt协议用aedes创建broker并测试MQTT server over WebSocket前言我们已经搭建好了开发环境,并且已经设计好了UI界面,现在就要正式编写后端软件,来进行数据交互。先来介绍这些第三方依赖包。KOA2框架基于nodejs的web框架有很多,讨论最多的就是express和koa2,express生态最好,用的最多,而koa2是express的原班人马打造,相当于express的升

2021-08-19 23:15:52 3330 3

原创 利用nodemcu和mqtt协议让嵌入式设备接入互联网(二.nodejs的安装和配置)

文章目录前言nodejsnvm和nodejs的安装nodejs的相关配置配置global和cache路径配置npm仓库为国内淘宝镜像前言第一篇讲了怎么用layui做HTML的前端网页,现在我们需要将我们的数据传到前端的网页上去。后端的语言有很多,nodejs、php、java、phthon甚至C/C++都可以开发后端,这里我们选用nodejs作为我们的开发语言,因为nodejs是运行在服务端的javascript和前端的javascript语法是一样的,这样我们只需要学好javascript就可以同时开

2021-08-11 12:03:28 1896

原创 利用nodemcu和mqtt协议让嵌入式设备接入互联网(一.layui前端框架)

前言为了让自己的嵌入设备接入互联网,而且能互相通讯,用直接的TCP或者UDP协议肯定是不够的,在了解了目前物联网行业后,发现物联网常用的协议是mqtt协议(message queuing telemetry transport,消息队列遥测传输协议)。mqtt是一种基于发布/订阅模式的轻量级通讯协议,很适合用于物联网的技术场景。然后就决定用mqtt协议作为通讯协议。对于wifi模块,选择了nodemcu,这是一个非常有名的开源物联网平台,是基于lua语言开发的,我们能用它很快很简单的完成连接wifi,

2021-08-10 13:46:55 1685

原创 深入理解计算机系统-程序结构和执行(信息的表示和处理)

文章目录深入理解计算机系统-程序结构和执行(信息的表示和处理)信息存储字数据大小寻址和字节顺序表示字符串C语言中的移位运算整数表示无符号数编码和有符号数编码有符号数和无符号数之间的转换扩展一个数字的位表示截断数字整数运算无符号加法补码加法补码的非浮点数二进制小数IEEE浮点表示情况1:规格化的值情况2:非规格化的值情况3:特殊值深入理解计算机系统-程序结构和执行(信息的表示和处理)信息存储字数据大小每台计算机都有一个字长(word size),指明指针数据的标称大小(nominal size)。因为

2021-04-26 12:00:26 866

原创 S32K144EVB快速入门

文章目录S32K144EVB快速入门开箱即用获取软件连接构建并加载S32K144EVB快速入门因为项目需求,需要用车规级MCU来做开发,选来选去,最后选用的NXP的S32K144芯片作为主MCU,因为NXP的中文资料很少,基本上要啃官方的英文资料,所以准备写一系列的博客来做个记录和备忘。入门指南官方网址。因为这个入门指南写的比较简单,所以有些东西就没有详细解释,这篇博客就简单讲一下。开箱即用这里面简单介绍了EVB的HMI(Human machine interface )和junctor(接口

2021-04-13 15:11:26 2675 4

原创 QT5使用PCAN读取CAN数据

文章目录QT5使用PCAN读取CAN数据QT5使用PCAN读取CAN数据项目中需要在QT框架中获取车辆的CAN信息,主要需要获取车速,方向盘,油门,挡位,刹车等信息。一开始准备用qt去调用PCANBasic.dll的API来实现这个功能,但意外的发现,QT5.8以上的版本,已经有内部的接口可以直接调用PCAN的插件,从而实现QT通过PCAN硬件设备读取CAN信息。PCAN支持的插件有如下,其中PeakCAN就是我们需要使用的插件了。...

2021-01-15 15:23:12 13686 19

原创 matlab基础应用

文章目录matlab脚本基础教程矩阵和数组创建矩阵处理矩阵数据类型整数和浮点数字符数组和字符串表元胞数组matlab循环及条件语句条件语句if语句switch语句循环语句for循环while循环matlab画图基础绘制线图设置坐标轴标签绘制多个图matlab脚本基础教程矩阵和数组创建矩阵直接赋值的方法,逗号或空格用来分列,分号用来分行。a=[1 2 3 4];%1×4行向量b=[1,2,3,4];c=[1;2;3;4];%4×1列向量利用zeros,ones来创建矩阵。zeros(3);

2020-12-28 09:39:05 1192

原创 QT5readAll函数在虚拟串口和真实串口的区别

问题描述在使用QT5写串口程序的时候,用的是Virtual Serial Port Driver 7.2这个工具创建的虚拟串口,界面是这个样子。因为我的传感器是每隔0.2秒发一次数据,数据在200字节以上,为了方便调试,用虚拟串口模拟真实串口发送,每隔0.2秒发一次数据。然后在程序中链接readyRead信号和自定义的receivedata槽函数。connect(myQSerialPort,&QSerialPort::readyRead,this,&SerialsThread::re

2020-11-09 11:47:28 1884

原创 QT5创建线程的两种方法(一)----继承Qthread

文章目录

2020-11-06 14:03:09 3465

原创 简谈拉电阻

简谈拉电阻前言拉电阻弱拉和强拉前言电路设计中经常设计到拉电阻的概念,与常用的GPIO口的配置也息息相关,网上也有很多的总结,不多累述。简单的总结拉电阻相关的一些概念,并结合电机控制器的一列芯片做以说明拉电阻拉电阻分为上拉电阻(pull up)和下拉电阻(pull down),其最基本作用是:将不确定的信号通过一个电阻钳位到高电平(pull up)或者低电平(pull down),无论具体用...

2020-10-29 17:01:37 622

原创 原码、反码和补码的原理和来源。

@[TOC](原码、反码和补码)简单记录一下原码、反码和补码的计算方法和原理。前言反码和补码是为了解决计算机中负数的运算所带来的问题。比如8-4=4用原码计算:0000 1000=81000 0100=-4+——————————————1000 1100=-12用补码计算:0000 1000=81111 1100+——————————————0000 0100=4+...

2020-08-18 12:57:13 254

原创 电机四象限运行

电机四象限模式前言电机单象限模式电机四象限模式电机控制中的两象限和四象限程序两象限程序四象限程序前言在主机厂工作中常常提到四象限和两象限程序,对于电驱运行方式的四象限运行不是很熟悉,学习一下,做下笔记,以防止遗忘。(个人理解,欢迎指正)电机单象限模式以电动机的转速为纵坐标轴,转矩为横坐标轴,电机只运行在第一象限的模式称为单象限模式,此时不能发电。电机四象限模式电机可工作在第一、二、三、...

2019-04-15 20:10:23 20975

prototest&install.rar

vs2019 protobuf demo工程文件,其中的Install文件夹有protobuf编译后的lib和include文件以及protoc.exe文件

2021-09-03

serialtest.rar

基于QT控制台项目的串口接收工程代码,使用继承QObject和movetothread方法创建线程。

2021-08-31

NODEMCU_DEVKIT_V1.0.rar

nodemcu开发板1.0电路原理图。

2021-08-24

GifCam gif录制工具

gif录制工具

2021-08-24

esp8266-technical_reference_cn.pdf

ESP8266技术手册中文

2021-08-24

flash_download_tool_v3.8.8_0.zip

esp8266 安信可官方刷写固件软件

2021-08-24

mqtt over websocket

mqtt over websocket 让嵌入式设备接入互联网,nodejs 前后端源码。使用aedes和koa

2021-08-19

S32K144_EVB_JumpStart_Firmware.srec

用于S32K144_EVB的JumpStart的s19文件,用于展示freemaster的功能

2021-04-13

candemo.rar

qt5使用PCAN例子

2021-01-15

serialsthreadtest.rar

QT5创建线程有两种方法,一种是qt4.6之前的方法,即创建一个自己的线程类继承QThread类。另一种是qt5后官方推荐的方法,即创建一个Object继承Qobject类,将自己要在线程里实现的方法和对象,在该类中定义。然后在主线程里实例化一个QThread对象,利用Qobject类的moveToThread方法,将自己创建的Object类都移到该线程里,这样Object类里的槽函数都是在新的线程里运行的了。 该资源是利用继承QThread类的方法,编写的一个串口接收程序的源码。

2020-11-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除