摘要:
1. ADC = 模数转换器(Analog‑to‑Digital Converter) 1.1 ADC作用:把连续变化的模拟电压信号,转换成单片机 / FPGA 能读懂的数字数值(传感器输出大多是模拟量:电压、电流、声音、振动、温度、压力、加速度,这些信号是连续变化的,MCU 不能直接读,必须靠 A
阅读全文
posted @ 2026-08-25 14:49
Vak
阅读(1)
推荐(0)
摘要:
1. 硬件的RGB888和RGB565 与 软件的ARGB8888概念是不一样的,RGB565的R去除了低位的3根线,G去除了低位的2根线,B去除了低位的3根线,这样最多能显示2的16次方种颜色,其中R能表示的颜色范围是0-248(2^8 - 2^3 = 248),从0-248过程是每次增长8,这样
阅读全文
posted @ 2026-08-25 09:03
Vak
阅读(4)
推荐(0)
摘要:
1. 在项目开发中尽量不要用数组和大的结构体,尽量用指针,因为数组和结构体在堆栈中要涉及到入栈和出栈,指针就不会有这个问题。 2. 程序编写小技巧 a. 在 layer code 中尽量不要有其他 layer 的 widget 或 function,保持干净。 b. Layer 的 AlwaysVi
阅读全文
posted @ 2026-08-25 09:03
Vak
阅读(1)
推荐(0)
摘要:
1. 结构体里可以放函数,但要放函数指针,不能直接放函数名进去。
阅读全文
posted @ 2026-08-21 10:56
Vak
阅读(2)
推荐(0)
摘要:
我昨天晚上做了个梦,现在想想细思极恐,顺势是这样的,画面突然跳转到我小时候在老家,我从外面玩完回家了,家里停水了,家人说整个庄都没水了,我渴的不得了,就出去找水喝了,整个庄子大大小小的河流、公共自来水管、超市都看了,哪哪都没水了,最后我找到一个房子,外面看有点像那种配电房,里面应该是一个定制的改版的
阅读全文
posted @ 2026-08-21 08:42
Vak
阅读(6)
推荐(0)
摘要:
1. 差分信号的引入 在寸土寸金的PCB上,为了传输1个单纯的逻辑位(也就是一个1或者0),PCIe居然要奢侈的消耗两根平行的铜线,也就是D+和D-,从走线上看这绝对是走线资源的巨大浪费。那么为什么非要用两根线传输1个信号呢?其实这也是被逼无奈的,因为在几个GT甚至几十GT的极高频环境下,单端信号(
阅读全文
posted @ 2026-08-19 12:01
Vak
阅读(5)
推荐(0)
摘要:
1. 约定: 命令:PROJECT()、ADD_EXECUTABLE()(推荐大写) 变量:PROJECT_NAME、CMAKE_CXX_STANDARD(大写) a.定义变量 set(MY_VAR "hello") set(NUM 123) # 列表(用分号分隔) set(SRC_LIST mai
阅读全文
posted @ 2026-08-18 11:18
Vak
阅读(3)
推荐(0)
摘要:
1. CAN FD(CAN with Flexible Data-Rate,灵活速率 CAN)能做什么? CANfd是传统 CAN 的升级版本,保留 CAN 全部优点(差分抗干扰、多主仲裁、消息优先级、错误自动重发),并且解决经典 CAN「单帧最多 8 字节、全程速率不能提速」的两大瓶颈。 1.1
阅读全文
posted @ 2026-08-17 17:38
Vak
阅读(8)
推荐(0)
摘要:
1. cmake语法总结################################################### cmake --version 查看是否安装成功。 cmake --help 查看帮助手册。 2. cmake 定义: CMake 是个一个开源的跨平台自动化建构系统,用来
阅读全文
posted @ 2026-08-17 17:21
Vak
阅读(3)
推荐(0)
摘要:
参考网址:https://blog.csdn.net/yajun0789/article/details/130722430【1】资源下载(SDK&compiler&相关工具) 1.官网授权资源获取:https://soc.itechina.cn/en 【2】Windows下配置SDK环境1.下载好
阅读全文
posted @ 2026-08-13 14:00
Vak
阅读(5)
推荐(0)
摘要:
1. 疑问:一般原理图中说的上下拉电阻什么意思,为什么上拉电阻了还要下拉 当引脚既不接高、也不接低,处于“悬空”状态时,它就像一根暴露在空中的天线——周围的电磁干扰会让它随机跳变(一会儿1一会儿0)。这会导致电路误动作。上拉电阻和下拉电阻,就是给这个“摇摆不定”的引脚,强行规定一个“默认身份”: 上
阅读全文
posted @ 2026-08-08 12:34
Vak
阅读(5)
推荐(0)
摘要:
1. 概述 1.1 定位: IT9836 定位HMI 多媒体 SoC; STM32 是通用 MCU。二者硬件架构不是一类器件。 1.2 关键硬件信息对比 双核 RISC-V 500MHz;内置 512Mb DDR2(SiP 封装,片上内存);76-QFN(76个引脚);内置 2D 图形引擎、MIPI
阅读全文
posted @ 2026-07-22 09:44
Vak
阅读(15)
推荐(0)
摘要:
1. Key按键原理图以及硬件介绍如下(什么 KEY_UP、KEY1、KEY2 在配置 cubeMX 的时候 GPIO mode 要设置为输入,KEY1 和 KEY2 要设置为上拉,而 KEY_UP 设置为下拉?) 提前总结:KEY0/1/2:松开 = 高电平1,按下 = 低电平0(因为外接GND)
阅读全文
posted @ 2026-07-21 20:27
Vak
阅读(20)
推荐(0)
摘要:
1. 原因 IDE 的 索引数据库损坏 / 未完整构建,找不到源码符号;常见触发场景: 1.1 TouchGFX 自动生成大量代码后,索引没更新; 1.2 工程导入 / 重新生成 CubeMX 代码后,索引缓存错乱; 1.3 头文件路径、宏定义未加入索引扫描; 1.4 工作区缓存损坏。 ## 方案
阅读全文
posted @ 2026-07-17 09:50
Vak
阅读(15)
推荐(0)
摘要:
1. 适配STM32F429的两种片外Flash种类如下: 1.1 FMC 并行 NOR Flash(内存映射,推荐,速度快):STM32F429 FMC Bank1 地址 `0x60000000~0x7FFFFFFF`,上电初始化 FMC 后,CPU 可以直接指针寻址读取资源,和读片内 Flash
阅读全文
posted @ 2026-07-17 09:48
Vak
阅读(29)
推荐(0)
摘要:
1. View代码展示,功能:将底层采集到的数据通过UI显示出来。 temperatureBar 是CPU温度进度条 textTempBuffer 是CPU温度文字显示 Unicode::snprintf的长度`3`代表:最多 2 位数字 + 1 个字符串结束符`\0`,仅支持 0~99℃;若测温到
阅读全文
posted @ 2026-07-16 21:02
Vak
阅读(12)
推荐(0)
摘要:
1. 先看完整的ADC配置 1.1 打开ADC Vrefint Channel:这个就是(IN17),内部基准电压,打开目的是校准温度,用于补偿3.3V电源压差,降低测温误差,如果不勾选只能用3.3V硬算,温差可达十几℃。 Temperature Sensor Channel:这个就是(IN16),
阅读全文
posted @ 2026-07-16 20:41
Vak
阅读(28)
推荐(0)
摘要:
1. Flash分为片内Flash和片外Flash,下面主要介绍片内flash: 1.1 片内Flash要存放: 一. 程序代码区 1. 启动文件startup_stm32f429xx.s(复位中断向量表、堆栈初始化、中断服务函数入口,存在Flash起始地址0x08000000) 2. 内核驱动代码
阅读全文
posted @ 2026-07-16 19:29
Vak
阅读(30)
推荐(0)
posted @ 2026-07-15 19:43
Vak
阅读(6)
推荐(0)
摘要:
1. Debug操作(如果没有烧录过程序,需要先进行配置,配置方法和Run configuration一致) 注意:Debug Configurations是Debug调试的配置,Run COnfigurations 是烧录的配置 1.1 Debug 注意:第一次配置之后,后面再Debug调试直接点
阅读全文
posted @ 2026-07-15 16:58
Vak
阅读(18)
推荐(0)
摘要:
1. 如果不想要旧的UI工程界面,想创建新的UI Demo,可以删除之前的文件,如下图,删除选中的文件 2. 删除后打开"ApplicationTemplate.touchgfx.part",然后选择导入新的Demo,或者选择 BlankPanel重新编写UI
阅读全文
posted @ 2026-07-15 15:29
Vak
阅读(8)
推荐(0)
摘要:
1. 复制 cubeMX的 .ioc 文件(目的是打开ioc文件,并重新生成IDE工程(在旧的IDE工程被污染的时候,这种清理方法很有效)) 2. 新建文件夹存放.ioc文件,并给ioc文件改名 注意:这里如果不改名也可以,但是cubeMX生成IDE工程的时候是根据 .ioc 的文件名而命名的,后面
阅读全文
posted @ 2026-07-14 21:31
Vak
阅读(17)
推荐(0)
摘要:
3.cubeIDE工程目录结构stm32H743_v0.1/ # 工程根目录├── .mxproject # CubeMX 项目元数据文件├── stm32H743_v0.1.ioc # CubeMX 核心配置文件(双击打开 CubeMX)├── Core/ # STM32CubeMX 生成的硬件驱
阅读全文
posted @ 2026-07-14 21:08
Vak
阅读(20)
推荐(0)
摘要:
1. cubeIDE打开工程并编译 1.左键双击打开工程目录下的.project 文件,打开后点 Build 编译工程。 注意:可能出现以下错误: 问题a. 缺少头文件编译出错 TouchGFX V1.18.0 有个已知Bug:生成代码时只会在 CubeMX 中当前选中的 Toolchain / I
阅读全文
posted @ 2026-07-14 20:36
Vak
阅读(17)
推荐(0)
摘要:
1. 源码1:deepseek提供 // 6. Set Refresh Frequency // 计算公式:COUNT = (SDRAM 刷新周期 (us) × SDRAM 时钟频率 (MHz)) / 行数 - 20 // 假设 SDRAM 时钟 = 60MHz, 刷新周期 = 64ms = 640
阅读全文
posted @ 2026-07-14 13:55
Vak
阅读(14)
推荐(0)
摘要:
1. 2. 2.1 3. 4. FMC_SRAM_CommandTypeDef 的结构体定义如下: 5. 宏定义 FMC_SDRAM_CMD_TARGET_BANK 6. SDRAM句柄 7. SDRAM_HandleTypeDef 结构体定义 8. 接口 HAL_SDRAM_SendCommand
阅读全文
posted @ 2026-07-14 08:52
Vak
阅读(11)
推荐(0)
摘要:
1. 按照《Agile环境搭建手册》一步一步配置CubeMX之后,生成TouchGFX程序,然后打开ApplicationTemplate.touchgfx.part并设计了一个界面,最后点击"Generator Code"之后再打开cubeIDE工程,并用STLink将程序成功烧录进开发板,但是屏
阅读全文
posted @ 2026-07-13 17:03
Vak
阅读(10)
推荐(0)
摘要:
1. scp命令 1.1 scp是用ssh协议远程传输文件的,所以如果开发板、或者虚拟机没有安装ssh,就无法远程传输文件。 1.2 展示:scp命令拷贝文件到板子,这个ip地址就是 972的ip地址; 1.3 scp命令拷贝到远端 1.4 还可以从板端拷贝文件到本地 scp root@192.16
阅读全文
posted @ 2026-07-10 16:25
Vak
阅读(10)
推荐(0)
摘要:
1. sudo apt-get install autoremove 自动删除不需要的依赖库。
阅读全文
posted @ 2026-07-10 16:09
Vak
阅读(6)
推荐(0)
摘要:
1. 更新环境 ***************************************************************************************** 以上错误是库没有配置好,建议重新建工程,重新配置库,最终点击 工程 --> 工程环境,库编译器,升级一下
阅读全文
posted @ 2026-07-10 10:15
Vak
阅读(12)
推荐(0)
posted @ 2026-07-09 19:45
Vak
阅读(5)
推荐(0)
摘要:
1. Qt前位补0的几种方法: 将17转换为0017 QString str = Qstring::numer(17); //10进制,debug出来 strNew = "0017" QString strNew = QString(("%1").arg(str.toInt(), 4, 10, QL
阅读全文
posted @ 2026-07-09 19:44
Vak
阅读(7)
推荐(0)
posted @ 2026-07-09 19:43
Vak
阅读(10)
推荐(0)
posted @ 2026-07-09 19:42
Vak
阅读(10)
推荐(0)
摘要:
18. 端口信息查询界面,参数设置页面,都可以做成模板的方式;现在端口查询cpp端用的是 QAbstractListModel实现的,其实也可以用QList去实现,方法如下: …参数设置页面2、参数标定页面3、参数标定页面4、 每个设置/标定页面内容如下: 切换到页面2; 页面切换的时候,调用cpp
阅读全文
posted @ 2026-07-09 19:21
Vak
阅读(5)
推荐(0)
posted @ 2026-07-09 19:18
Vak
阅读(5)
推荐(0)
摘要:
1. 如果有很多标定页面,可以下面这样处理: 而每个页面显示的格式又都一样,多个页面可以糅合在一起,借鉴如下: 姿态标定页面用四个Row表示即可 每个Row是两个文本,文本显示的内容放在Array里面,根据page_num去读取Array, 进入具体的标定页面之后,先加载页面模板,再根据具体的sel
阅读全文
posted @ 2026-07-09 19:17
Vak
阅读(8)
推荐(0)
摘要:
1. QML的信号处理方式 1.1 方法一:数据量变化触发信号 1.2 方法二:定义信号,直接调用信号 1.3 处理任意对象的信号,Connections可以用于响应任意对象的信号; 大多数情况下Connections用于连接其他QML文件中定义的信号,具体需要指定信号所属对象的id; 方法2是在同
阅读全文
posted @ 2026-07-09 19:10
Vak
阅读(9)
推荐(0)
posted @ 2026-07-09 19:04
Vak
阅读(6)
推荐(0)
摘要:
1. 收到控制器指令之后,如果需要切换图片,可以在Cpp端设置图片的source字符串 不要在qml端用Timer去轮询标志位,举例如下: a.qml端 cpp端 actionArrowJudge更改字符串;
阅读全文
posted @ 2026-07-09 19:03
Vak
阅读(9)
推荐(0)