- 博客(128)
- 资源 (14)
- 收藏
- 关注

原创 【QT】串口调试助手(串口编程代码详解)
串口助手最终效果图QT布局设计 serial.ui项目框架结构工程配置文件serial.proQT += core gui serialportgreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt feature that has .
2020-12-25 11:01:45
26980
18

原创 RT-Thread 之 PWM 设备驱动详细配置过程(血泪经验)
基于 RT-Thread Studio 1.1.2 版本开发,目前最新版本。1、配置PWM设备驱动相关宏定义1.1 配置PWM和TIM设备驱动在RT-Thread Settings 配置界面中,在设备驱动程序目录下勾选 HWTIMER 和 PWM设备驱动程序,如下图所示:1.2 stm32f1xx_hal_conf.h 头文件查看是否已宏定义HAL_TIM_MODULE_ENABLED 和HAL_PWR_MODULE_ENABLED,如果没有自动配置则手动取消相关注释打开....
2020-07-31 17:59:53
14107
26

原创 智能家居HomeAssistant(三)MQTT配置
接上篇博客智能家居HomeAssistant(二)Docker安装homeassistantMQTT服务配置博客Docker 安装MQTT服务 mosquitto进入对应目录下的 .homeassistant(前面有个小数点),修改配置文件configuration.yaml1、连接局域网内MQTT服务器的参数配置mqtt: # MQTT Broker的IP地址或者域名 broker: 172.30.1.63 # MQTT Broker的端口号,缺省为1883 por...
2020-06-13 11:17:09
20647
3

原创 智能家居HomeAssistant(二)Docker安装homeassistant
1、查找镜像docker search homeassistant选择STARS最多的镜像2、拉取镜像docker pullhomeassistant/home-assistant3、查看镜像docker images homeassistant/home-assistant4、启动镜像docker run --init -d --name="home-assistant" -e "TZ=Asia/Shanghai" -v /PATH_TO_YOUR_CONFIG..
2020-06-13 11:02:41
27315
3
原创 【Linux-ARM】arm-sgmstar-gnueabihf-9.1.0-202007-gcc交叉编译openssl、curl静态库.a与动态库.so
Ubuntu18.04下嵌入式Linux的arm-sgmstar-gnueabihf-9.1.0-202007-gcc交叉编译openssl、curl静态库.a与动态库.so
2022-08-19 09:48:15
1782
原创 【Linux-ARM】电脑 WiFi 上网,开发板与电脑直连
目录1、准备工作2、VMware 设置 3、Ubuntu 设置 4、Windows 设置5、开发板设置 6、ping 测试7、小结使用场景:路由器离电脑比较远,只有一条网线。设备:电脑(Windows)、正点原子 Linux 开发板(出厂系统)、路由器/交换机、直通网线。如果是台式机没有无线网卡的话,可以使用正点原子的 USB 转 WIFI 模块来让电脑连接到WiFi。网络拓扑结构:打开 VMware Workstation Pro 里的 虚拟机 -> 设置设置网络适配器为桥接模式。因为电脑是 Wi
2022-06-17 03:00:00
3813
3
原创 【Linux-ARM】安装海思himix200交叉编译openssl-arm静态库与动态库
arm-himix200-linux arm-himix200-linux-gcc arm-himix200-linux-g++ readme.txt5、查看环境变量 cat /etc/profile 至此安装完成! Ubuntu 18.04 x86_64himix2000 编译工具链4、执行Configure脚本
2022-06-13 18:34:19
2778
4
原创 【Linux-ARM】arm-linux-gnueabihf、arm-himix200-linux交叉编译curl-arm 静态库.a与动态库.so
目录一、编译环境虚拟机环境下载源码二、arm-linux-gnueabihf 交叉编译 curl1、解压源码2、解压文件夹3、进入源码文件夹4、配置命令 5、make编译6、make install 安装7、查看编译动态库、静态库8、拷贝动态库、静态库9、拷贝include里面的头文件三、arm-himix200-linux 交叉编译 curl1、配置参数 2、make编译3、make install 安装ubutntu18.04curl - Download (7.69.1 对应
2022-06-13 18:32:37
2156
原创 【Linux-ARM】安装 arm-linux-gnueabihf 交叉编译openssl-arm静态库与动态库
目录一、编译环境1.1 openssl版本1.2 下载openssl源码1.3 交叉编译器:arm-linux-gnueabihf 二、安装安装 arm-linux-gnueabihf 交叉编译器2.1 交叉编译器源码下载2.2 交叉编译器安装2.3安装相关库2.4 交叉编译器验证三、交叉编译openssl-arm静态库与动态库3.1 相关配置3.2 make depend3.3 make编译3.4 编译结果 3.5 拷贝ssl、crypto静态库和动态库3.6 也可以将openssl 安装至配置过的目录
2022-06-12 20:20:45
11082
原创 【PCB】Altium Designer PCB规则配置
1、间距规则;2、线宽规则;3、过孔规则;4、铺铜规则;1、间距约束Design Rules - Electrial - Clearance - Clearance - 约束(单位是mil,快捷键Ctrl + Q 切换为mm,相互切换)2、宽度约束Routing - Width - Width - 约束右键Width点击“新规则”创建“PWR”电源走线宽度规则...
2022-01-23 11:15:19
7484
原创 【PCB】Altium Designer PCB布线 类配置显示/隐藏Nets网络连线(方便隐藏干扰Nets网络)
在PCB文件编辑状态下,点击“设计“工具栏中的”类...”选项,弹出“对象类浏览器”,如下图所示:右键点击“Net Classes”选项,在弹出左键点击框选择“添加类”然后根据需要配置新的类成员,将非成员选择到成员中即可。下图展示的是GND地类的配置下图展示PWR电源类的配置然后左键点击AD软件右下角的“Panels”(面板)在弹出框选择“PCB”就可以看到Net Classes比如在布线过程中要隐藏GND地线(隐藏干扰网络)方便布线,则右键点击“...
2022-01-23 10:00:53
17004
原创 【PCB】Altium Designer 批量修改元器件丝印的大小位置
第一步,选择Top Overlay丝印顶层(如果是修改底层丝印,则选择Bottom Overlay层)。第二步,鼠标左键选择一个元器件丝印,然后右键点击选中的丝印,在弹出框中点击“查找相似对象。”第三步,将“String Type”栏修改成“Same”,接着点击“应用”按钮,然后点击“确定”。第四步,在弹出的属性对话框中,就可以修改所有选中丝印的位置、高度、宽度。至此,完成PCB中丝印的批量修改位置、高度、宽度。注:还有快捷可视化修改“元器件文本位置”的方..
2022-01-20 09:03:24
11458
原创 【2021】个人博客分类汇总
目录一、RT-Thread系列二、QT C++系列三、智能音箱wukong-robot系列四、智能家居HomeAssistant系列五、硬件设计PCB六、MQTT协议七、嵌入式Linux一、RT-Thread系列1、RT-Thread官网入门RT-Thread, RTOS, 物联网操作系统 - RT-Thread物联网操作系统RT-Thread 文档中心RT-Thread Studio - RT-Thread物联网操作系统RT-Thread-首
2021-12-13 20:33:05
4974
16
原创 【RT-Thread】UART串口设备驱动★DLT645-2007多功能电能表通信协议★RTThread★
【RT-Thread】DLT645-2007多功能电能表通信协议★RT-Thread串口设备驱动代码 ★STM32、UART串口、RS485、DLT645-2007★
2021-12-07 20:38:53
11040
4
原创 【RT-Thread】RT-Thread Studio用stlink下载显示 Error: Old ST-LINK firmware version. Upgrade ST-LINK firmware
目录问题现象解决办法1. 下载STM32CubeProgrammer2. 固件升级3. 验证烧录问题现象RT-Thread Studio用ST-LINK V2下载程序现象: ------------------------------------------------------------------- STM32CubeProgrammer v2.5.0-RC1 ...
2021-03-15 10:18:12
3451
原创 【PCB】Altium Designer 生产文件 - Gerber文件的输出及整理 ☆
目录1. Gerber文件的输出1.1 装配图.pdf1.1.1 方法一:智能PDF的生成步骤1.1.2 方法二:装配输出PDF1.2 BOM表1.3 Gerber 文件 - Gerber Files1.4 钻孔文件 NC Drill Files1.5 坐标文件 Generates pick and place files1.6IPC网表 Test Point Report1.7 生成的Cam文件删除不保存处理2.Gerber文件的整理2.1 ASM-贴...
2021-03-11 13:25:03
1278
原创 【PCB】Altium Designer 常用快捷键
PCB布局布线的快捷键Shift + E元器件中心 Ctrl + M元器件线性尺寸测距 Shift + S图层单层显示 M 元器件X/Y移动 M + S移动所选择 Ctrl + D2D/3D模型切换 Shitf + 右键3D模型状态旋转 PCB与原理图交叉索引 TC 设置快捷键Ctrl + 左键(注:白色区域快捷键是自定义的快捷键,灰色区域快捷键是默认快捷键)Tab + 画线 跳转到属...
2021-03-05 15:27:58
24143
原创 【Linux Posix】Linux Posix编程入门(合集)
【Linux Posix】(01)Linux Posix 编程入门【Linux Posix】(02)Vim编辑器的使用【Linux Posix】(03)编译器gcc的使用【Linux Posix】(04)调试器gdb的使用【Linux Posix】(05)工程管理器make的使用(Makefile)【Linux Posix】(06)文件IO编程I - 文件的创建和读写【Linux Posix】(07)文件IO编程II - 文件的各个属性和目录操作【Linux Posix】(08)
2021-02-27 17:38:28
1598
原创 【Linux Posix】(20)网络编程III - 网络编程socket
目录网络服务器编程模型socketbindlistenconnectacceptsend_recv send和recv函数服务器例子和客户端例子服务器客户端网络服务器编程模型 函数名称 函数简单描述 附加说明 socket 创造某种类型的套接字 bind 将一个 socket 绑定一个ip与端口的二元组上 listen 将一个 socket 变为侦听状态 connect ...
2021-02-27 17:29:43
1018
原创 【Linux Posix】(19)网络编程II - 网络编程基础;网络编程主要函数
目录1. 字节序列转换1.1 字节序列转换概述1.2 字节序列转换的函数1.3 地址格式转换2. 网络编程基础2.1 socket概述2.2 套接字的三种类型1. 字节序列转换1.1 字节序列转换概述实验结论:这台机器,内存低地址存放整数(即多字节数)的低位;内存高地址存放整数(即多字节数 )的高位(小端系统) 。小端系统 - intel系统(PC机)大端系统 - 整数高位存放低地址,整数低位存放高地址intel机器采用的主机字节序是小端.
2021-02-27 15:35:29
240
原创 【Linux Posix】(18)网络编程I - 网络知识介绍
目录1. IPv4包头结构2. TCP包头结构3. 建立一个TCP连接4. 结束一个TCP连接1. IPv4包头结构2. TCP包头结构ACK:acknowledge 确认SYN:syncronze 同步FIN:finsh 结束3. 建立一个TCP连接注:三次握手。4. 结束一个TCP连接注:四分节终止序列。...
2021-02-27 14:45:08
207
原创 【Linux Posix】(17)多线程编写II - 多线程间的同步
目录1. 杀死线程1.1 杀死线程的函数1.2 杀死线程的示例代码2. 多线程的同步2.1 多线程的同步函数2.2 多线程未同步时的问题示例2.3 多线程进行加锁和解锁同步的示例2.4 加锁方式的变体1. 杀死线程1.1 杀死线程的函数线程的杀死点:引起阻塞的地方,比如sleep,read,write等,还可以通过pthread_testcancel手动设置杀死点。1.2 杀死线程的示例代码2. 多线程的同步2.1 多线程.
2021-02-27 11:58:52
178
原创 【Linux Posix】(16)多线程编写I - 基础api
注:线程的pthread_jion函数类似于进程的wait或waitpid函数,如果等待线程未结束则阻塞,如果等待线程已结束则立即返回。gcc thrdcreat.c -o thrdcreat -lpthread
2021-02-27 11:06:59
203
原创 【Linux Posix】(15)进程间通信IV - 信号量
信号量的读写同步实现机制是通过P-V操作:P操作(-1):去查看信号量的值。如何信号量的值是1,那么把信号量的值减1(变成0),继续访问共享内存;如果信号量的值是0,进程就阻塞。V操作(+1):把信号量的值加1(从0变1),唤醒阻塞在信号量上的进程。/* writeshm.c */#include <sys/types.h>#include <sys/ipc.h>#include <sys/shm.h>#include ...
2021-02-26 15:36:44
231
1
原创 【Linux Posix】(14)进程间通信III - 共享内存
管道:A进程写入数据到管道,是用户空间切换到内核空间操作,B进程从管道读取数据,数据是从内核空间送到用户空间。用户空间和内核空间的数据切换是比较耗资源的。共享内存:直接把共享内存的地址空间直接映射到自己的地址空间内部,那么数据操作就一直都在用户空间,不涉及用户空间和内核空间数据交互问题,所以效率是最高的。*shmaddr:通常默认填写 0 , 让系统自动分配起始地址。shmflag:通信默认填写 0 。...
2021-02-26 11:11:30
212
原创 【Linux Posix】(13)进程间通信II - 管道
目录1. 管道通信2. 管道函数3. 命名管道(FIFO)1. 管道通信2. 管道函数 管道写端关闭管道读端关闭3. 命名管道(FIFO)/* rdfifo.c */#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <errno.h>#include &l...
2021-02-25 17:35:27
255
原创 【Linux Posix】(12)进程间通信I - 概述,信号
目录1.进程间通信概述2. 信号概述3. Linux 中的信号4. 信号5. 信号处理函数5.1 signal()5.2 kill() 和 ararm()1.进程间通信概述2. 信号概述3. Linux 中的信号2)SIGINT:按键Ctrl+C,中断信号3)SIGQUIT:按键Ctrl+\6)SIGABRT:调用abrt()函数发送的信号,进程异常退出9)SIGKILL:输入 kill -9 强制杀死一个进程的时候发送的信号.
2021-02-25 16:23:42
212
原创 【Linux Posix】(11)多进程编程IV - 综合案例(简化版的Shell程序)
综合案例:简化版的Shell程序(运用fork、exec、 wait函数)shellv2.c//shellv2.c#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <fcntl.h>#include <errno.h>#include <sys/types.h>#include <sys/wait.h>#include &l
2021-02-25 14:11:36
205
原创 【Linux Posix】(10)多进程编程III - wait与exec
父子进程间的同步 - wait子进程运行新程序 - exec#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <sys/types.h>#include <unistd.h>#include <sys/wait.h> int main(void){ int fd, pid, status; char buf[10]
2021-02-25 11:18:18
394
原创 【Linux Posix】(09)多进程编程II - fork
目录1. 进程创建2. 父、子进程之间的继承3. 父、子进程之间的区别4. fork的基础用法示例5. fork的文件描述符fd的示例1. 进程创建2. 父、子进程之间的继承3. 父、子进程之间的区别4. fork的基础用法示例//test2.c 示例#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h
2021-02-24 17:36:28
232
原创 【Linux Posix】(08)多进程编程I - 进程概念与标志
text:代码段,来自程序文件中的内容Initializeddata:初始化数据段,来自程序文件中已经初始化的全局变量Uninitialized data(bss):bss段,未初始化的数据段,存放的是程序中未初始化的全局变量,并且初始化值为0heap:堆区,程序中调用malloc函数分配的内存空间,从下往上走,地址是从低到高stack:栈区,存放最多的是各个函数的参数和函数的局部变量,从上往下走,地址是从高到低Command-line:命令行参数...
2021-02-24 15:17:50
245
转载 【Linux】Linux 下串口编程入门
目录串口简介串口操作打开串口设置串口读写串口关闭串口例子相关主题串口简介串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一个 25 个脚的 DB
2021-02-24 11:53:38
1005
原创 【Linux Posix】(07)文件IO编程II - 文件的各个属性和目录操作
目录1. 文件属性1.1 stat 属性结构体1.2 文件类型1.3 文件权限2. 目录操作2.1 打开目录2.2 读取目录2.3 关闭目录2.4 操作示例1. 文件属性1.1 stat 属性结构体fstat:函数功能同stat函数一样,第一个传入参数为文件描述符lstat:对于软连接文件查看的是本身属性,上述的stat和fstat查看的是软连接指向文件的属性;其他文件三个函数是一样的功能1.2 文件类型1.3 文件权限.
2021-02-23 16:36:54
419
原创 【Linux Posix】(06)文件IO编程I - 文件的创建和读写
目录1. Linux系统调用与文件I/O2. 用户程序接口(API)3. 文件I/O介绍4. 文件描述符5. 文件I/O操作函数5.1 open函数5.2 create函数5.3 close函数5.4 read函数5.5 write函数5.6 lseek函数6. 文件IO操作示例1. Linux系统调用与文件I/O2. 用户程序接口(API)3. 文件I/O介绍4. 文件描述符5. 文件I/O操作函数5.1 open
2021-02-23 15:33:17
697
原创 【Linux Posix】(05)工程管理器make的使用(Makefile)
目录1. Makefile文件简介2. 一个简单的Makefile的例子3. Makefile编写规则4. make命令5. 一个带变量的Makefile的例子6. 预定义变量7. Makefile的隐含规则1. Makefile文件简介2. 一个简单的Makefile的例子3. Makefile编写规则4. make命令5. 一个带变量的Makefile的例子6. 预定义变量# 优化:OBJS = prog.o c.
2021-02-23 14:35:42
396
原创 【Linux Posix】(04)调试器gdb的使用
目录1. gdb调试器简介2. gdb最常用调试命令3. gdb使用进阶4. gdb使用小技巧提升效率5. gdb特殊使用方法1. gdb调试器简介2. gdb最常用调试命令break 设置断点,例如break 25 设置25行为断点(b是break简写 b main 设置main主函数断点)run 启动运行调试程序 (r 是run的简写)print i 查看变量i的值 (p是print的简写)step 单步执行,会进入到子程序内部 (s 是st.
2021-02-22 17:07:42
232
原创 【Linux Posix】(03)编译器gcc的使用
目录1. gcc的使用格式2.1 预处理:2.2 编译:2.3 汇编:2.4 链接:3. 后缀名 所对应的语言3.1 -I dir3.2 -l3.3 -DM4. 使用优化选项5.使用调试选项1. gcc的使用格式例如:gcc hello.c -o hello 或 gcc hello.c2. 程序编译过程例如:compile.c 源文件//compile.c#include <stdio.h>#define M.
2021-02-22 15:26:40
504
原创 【Linux Posix】(02)Vim编辑器的使用
目录1. Vim编辑器简介2. Vim的三种模式2.1 命令模式2.2 末行模式2.3替换实例2.4 恢复文件3. Vim的高级使用3.1 分割窗口3.2 用户设定1. Vim编辑器简介2. Vim的三种模式2.1 命令模式2.2 末行模式2.3替换实例2.4 恢复文件3. Vim的高级使用3.1 分割窗口3.2 用户设定...
2021-02-22 12:07:35
263
原创 【Linux Posix】(01)Linux Posix 编程入门
目录1. Linux的诞生与发展2. Linux系统结构3. Linux下C语言编程环境概述4. Linux下C语言编程的风格4.1 缩进、长行、{}与空格的放置4.2 变量和函数1. Linux的诞生与发展2. Linux系统结构3. Linux下C语言编程环境概述程序安装目录:/bin、/sbin、/usr/bin、/usr/sbin头文件:/usr/include库文件:/lib、/usr/lib(后缀名为 .so,.
2021-02-22 12:03:51
808
ARM交叉编译器:arm-sgmstar-gnueabihf-9.1.0-202007-gcc
2022-08-19
【QT】翻金币项目(图片资源文件) res.zip
2021-04-10
Altium Designer 自动铺铜脚本 FanySkill4AD_V1.3.0.zip
2021-03-11
QT"汽车销售统计系统” (QT结合MySQL数据库与XML文件搭建 QtCarManager.zip)
2021-01-12
qt的mysql驱动:qt_ubuntu18.04_mysql.zip (libqsqlmysql.so和libqsqlmysql.so.debug)
2021-01-11
【QT】串口助手(优化升级 详细注解) qt5_serial.zip
2021-01-08
QT5的MySQL驱动 qt5.12.9(mingw73_64)mysql8.0.19(64位)
2021-01-08
modbus调试工具.zip
2020-09-01
基于物联网技术的智慧农业学位期刊
2019-11-22
STM32_W5500_MQTT_移植说明
2018-12-05
互联网+智慧仓储物流解决方案
2018-11-14
基于蓝牙的主动式考勤系统的设计与实现
2018-11-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人