自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 CAN总线协议

两根通信线(CAN_H、CAN_L),线路少差分信号通信,抗干扰能力强高速 CAN(ISO11898):125k~1Mbps, <40m低速 CAN(ISO11519):10k~125kbps, <1km异步,无需时钟线,通信速率由设备各自约定半双工,可挂载多设备,多设备同时发送数据时通过仲裁判断先后顺序11位/29位报文ID,用于区分消息功能,同时决定优先级可配置1~8字节的有效载荷可实现广播式和请求式两种传输方式应答、CRC 校验、位填充、位同步、错误处理等特性。

2025-11-13 15:24:11 780

原创 I2C通信协议

I2C(Inter IC Bus)是由Philips公司开发的一种通用数据总线两根通信线:SCL(Serial Clock)、SDA(Serial Data)同步,半双工带数据应答支持总线挂载多设备(一主多从、多主多从)

2025-10-17 11:59:15 1697

原创 SPI通信协议

SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线四根通信线:SCK(Serial Clock)、MOSI(Master Output Slave Input)、MISO(Master Input Slave Output)、SS(Slave Select)同步,全双工支持总线挂载多设备(一主多从)

2025-10-16 13:36:13 517

原创 QT学习记录

1 创建 QPushButton * btn = new QPushButton2 设置父亲 setParent(this)3 设置文本 setText(“文字”)4 设置位置 move(宽,高)5 重新指定窗口大小 resize6 设置窗口标题 setWindowTitle7 设置窗口固定大小 setFixedSize1、方式一2、方式二2 信号和槽点击我的按钮,关闭窗口3 自定义信号和槽1 自定义信号 1.1 写到 signals下 1.2 返回 void 1

2025-08-29 11:11:18 737

原创 QT案例-翻金币

其中,int代表对应的关卡 ,也就是QMap中的key值,而value值就是对应的二维数组,我们利用的是 QVector<QVector>来记录着其中的二维数组。当我点击一个硬币的时候,禁用其他按钮,直到周围按钮翻转完毕,还原,防止在胜利一瞬间突然点击其他按钮导致其他按钮也翻转,并且游戏也胜利的情况。如果快速点击,会在金币还没有执行一个完整动作之后 ,又继续开始新的动画,我们应该在金币做动画期间,禁止再次点击,并在完成动画后,开启点击。2、点击构建后,在资源文件夹中找到生成的Release文件夹。

2025-08-29 11:10:51 854

原创 MQTT学习笔记

MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息传输协议,适用于低带宽、不可靠网络环境。固定报头(Fixed Header)必须存在,用于描述报文类型和相关信息。包含报文类型(如连接、订阅、发布等)和服务质量(QoS)等级。byte1:MQTT报文类型(4位) + 保留位(4位)byte2:剩余长度(可变报头长度 + 有效载荷长度)可变报头(Variable Header)不一定存在,具体内容取决于报文类型。

2025-06-13 17:01:11 1138

原创 将本地项目上传到GitHub

Repository name: 仓库名称Description(可选): 仓库描述介绍Public, Private : 仓库权限(公开共享,私有或指定合作者)Initialize this repository with a README: 添加一个README.mdgitignore: 不需要进行版本管理的仓库类型,对应生成文件.gitignorelicense: 证书类型,对应生成文件LICENSE。

2024-07-18 11:16:05 1141

原创 Windows和Linux中网络编程

注:windows下的UDP编程思路和Linux差不多,这里没有写代码,大家可以自己尝试写一下。下面例程只是简单实现Windows下TCP通信,接受和发送的逻辑需要自己根据需要进行修改。注:如果Windows下编译报错,需要在tasks.json中的字段。

2024-07-05 08:14:38 591

原创 Linux系统总结

② 函数原型:int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg)② 函数原型:int pthread_cond_init(pthread_cond_t *restrict cond,const pthread_condattr_t *restrict attr);② 函数原型: time_t time(time_t *t);

2024-06-28 14:18:10 1175

原创 vscode使用小优化

在设置中找到Code Actions On Save,然后点击下面的“在setting.json中编辑”,打开后将下面的代码全部复制替换setting.json中的原内容,然后ctrl+s保存,关闭文件即可。,勾选Code-runner:Run In Terminal即可。,在Files:Encoding中选择自己需要设置的默认编码即可。,根据需要勾选下面两项即可。

2024-06-26 09:55:15 345

原创 Ubuntu遇到的问题解决方法

安装包依赖问题解决方法。

2024-06-26 08:25:30 680

原创 ubuntu16.04 硬盘/磁盘扩容

最后将新建的 linux-swap 中的 UUID 值更新到/etc 下 fstab 文件中。成功扩容, 到此扩容结束。现在我们再来查看硬盘容量。

2024-06-25 16:36:07 2141

原创 MQTT移植

将源码里面src文件夹里面的文件整体移入mqtt文件里面。

2024-06-25 16:13:03 455

原创 LVGL移植

其中lvgl/src文件夹内存放的是LVGL的核心源码,lvgl/examples/porting文件夹内存放的是lvgl与底层的接口函数,这些函数需要我们根据自己的项目进行修改。

2024-06-25 16:06:32 1535

原创 FreeRTOS移植

FreeRTOS 包含 Demo 例程和内核源码(比较重要,我们就需要提取该目录下的大部分文件)。FreeRTOS 文件夹下的 Source 文件夹里面包含的是 FreeRTOS 内核的源代码,我们移植 FreeRTOS 的时候就需要这部分源代码;FreeRTOS 文件夹下的 Demo 文件夹里面包含了 FreeRTOS 官方为各个单片机移植好的工程代码, FreeRTOS 为了推广自己,会给各种半导体厂商的评估板写好完整的工程程序,这些程序就放在 Demo 这个目录下,这部分 Demo 非常有参考价值。

2024-06-25 15:39:36 1278

原创 vscode多文件编译,一个工程中含有多个.c文件和.h文件

选择windows 系统,选择x64.zip.\xml.exe。

2024-06-24 15:53:38 1297

空空如也

空空如也

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

TA关注的人

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