- 博客(356)
- 资源 (16)
- 收藏
- 关注
原创 二维码扫码设备通信方式说明
测试调试阶段:首选USB,搭配 TXT 文档测试。项目集成(单片机/工控机):首选TTL 串口,使用串口调试助手测试。部署立式终端/门禁:首选以太网(稳定),使用网络调试助手或自建 HTTP 服务测试。布线困难/移动场景:选择WiFi,但需注意频段。附录:常用工具软件清单TXT/Word:USB 测试XCOM/SSCOM:串口调试工具NetAssist(网络调试助手):TCP/UDP 调试Postman/浏览器:HTTP 接口测试。
2026-11-06 16:06:26
76
原创 使用LVGL, 定义的指针突然指向野指针,解决办法
如果代码此时执行 lv_obj_set_style_border_width(g_row_cache[0].row, ...),LVGL 会尝试去读取地址 0x0000005F 里的数据,这就直接触发了内存访问越界(HardFault)。在 LVGL 里,绘制一个复杂的界面、处理一次 sprintf 格式化、执行一轮 flex 布局计算,很容易就把 1KB 的栈吃满。栈溢出后,会直接“踩死”紧挨着栈的全局变量(包括 g_row_cache),导致内存变成乱码(野指针)。发现执行了下面这块之后,变野指针了。
2026-10-29 16:59:48
69
原创 LVGL 8.3 中文显示时,文件格式编译错误的解决办法
但是 lv_label_set_text(low_bat_name_lbl, "电量低");要在lcd屏上显示 ,需要UTF-8 BOM。lv_label_set_text(low_bat_name_lbl, "鐢甸噺浣?lv_label_set_text(low_bat_name_lbl, "电量低");也可以设置 keil 如下设置:加 --locale=english。可以用别的软件打开这个文件,保存格式为UTF-8 BOM。原因是keil文件格式是 UTF-8 或者 简体中文。
2026-10-28 16:05:14
193
原创 RGB屏,使用LVGL 竖屏显示
竖屏显示的方案:方案 A:LVGL 8.3 软件旋转使用 LVGL 自带的旋转机制,先验证竖屏坐标、界面布局和刷新流程。改动最少,最适合先确认屏幕方向正确。缺点:旋转会占用 CPU。
2026-10-26 12:18:37
144
原创 LCD不亮,排查问题
检查背光电源:你的屏背光由 8 颗 LED 串联,典型电流 20mA。用万用表测量 FPC 排线上的 LED+ 和 LED- 引脚,看是否有约 23V-26V 的电压。如果没有电压,检查背光驱动电路或使能信号。在暗处观察屏幕,如果背光完全不亮,问题就在背光供电回路,与显示信号无关。看lcd排线是否插对,1引脚对1引脚,40引脚对40引脚。再看背光,再查供电,最后查信号。检查限流:务必确保背光供电是恒流源,电流限制在 20mA 以内,过流会瞬间烧毁背光。第一步:看排线是否插对。第二步:确认背光是否点亮。
2026-10-17 17:09:10
175
原创 LVGL 移植整体流程
所以如果使用外部内存,没必要使用全尺寸,速度不一定快。MY_DISP_HOR_RES 屏幕的水平宽度 ,MY_DISP_BUF_LINES 显示10行,如果显示效果不是很好,并且内存够用的话,可以修改大些。
2026-10-17 17:07:22
144
原创 boot升级过程中,bin文件产生的方法
方式一:D:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o .\stm32F407VET6-BOOT\stm32F407VET6-BOOT.bin .\stm32F407VET6-BOOT\stm32F407VET6-BOOT.axf。"$K\ARM\ARMCC\bin\fromelf.exe" --bin -o "$L@L.bin" "#L" 推荐这个,适配任何工程。
2026-09-17 17:54:12
168
原创 LVGL 的 PC版模拟器:CodeBlocks 的使用
LVGL 的 PC版模拟器,下面是常用的模拟器,LVGL组织者有在维护。该模拟器被移植到各种集成开发环境(IDE)。选择你喜欢的IDE,阅读GitHub上的README,下载项目,然后加载到IDE中。:推荐在Linux和Mac上使用:推荐在Windows上使用:适用于Windows版:推荐在 Linux(SDL/X11)和 Mac(SDL)上使用:推荐在Linux和Mac上使用LVGLLVGL v9.1之后,LVGL手册去掉了 Code::Blocks。这篇只讲 Code::Blocks。
2026-09-07 16:35:52
217
原创 嵌入式 GUI 框架大概说明
LVGL 的实现方式可以比较全面地分成 4 类,从“纯手写”到“可视化设计”都有。它主要负责“设计长什么样”,LVGL负责“在 MCU 上怎么运行”。优点: 上手快,适合工业 HMI、480×800 这种复杂界面。最传统的方式,直接使用 LVGL API 创建界面。LVGL → 开源、轻量、跨平台 GUI。优点: UI结构清晰,适合页面较多的项目。缺点: 需要学习 LVGL XML 语法。LVGL 提供 XML 方式描述界面。优点: 灵活、可控、适合动态界面。缺点: UI复杂后代码量比较大。
2026-08-31 14:19:17
220
原创 STM32,串口单字节中断接受,每次上电后,会收到一个0x00的解决办法。
一旦外部有轻微噪声或 RS485 芯片输出不稳定,这个引脚就可能被拉低,UART 硬件检测到下降沿就认为是一个起始位,从而“接收”到一个。stm32L496, 串口字节中断接受,遇到的问题的是,每次上电串口初始化后,还没有接受到数据的时候,中断就进入,接受一个0x00的数据。你的 USART3 RX 引脚在初始化完成到真正开启接收中断之间,处于。,只要空闲时不是确定的高电平,就有可能误触发。(如 4.7k~10kΩ 接 VCC)—— 更可靠,抗干扰更强。(你已实现)—— 最简单,零成本。
2026-08-14 15:55:48
195
原创 LoRa 无线对讲机-对讲机工作主要流程-工作界面
工作界面是对讲机的主要操作界面,用户在此界面进行日常对讲操作,包括:PTT喊话、音量调节、信道切换等。
2026-07-23 14:12:03
192
原创 LoRa 无线对讲机-LoRa语音模块(TMK02-B)- 模块没有回复
MCU 与 TMK02-B 相连,MCU 发送命令后,没有收到 TMK02-B的数据,用逻辑分析仪抓包数据后,发现TMK02-B有回复,但是逻辑分析仪解析出来的数据,发现数据不符合uart的正确时序。看手册后,发现需要在串口的接收和发送引脚接10k的电阻,接上电阻后,mcu和tmk02-B之间命令收发就正常了。的驱动能力和工作电压影响,串口信号波形可能会发生畸变,造成误。串口由1各开始位(0),8个数字位,1个停止位(1)组成。但是看抓的数据,停止位有问题,就是io口拉高能力不足。个数据位,一个结束位。
2026-07-07 16:44:19
187
原创 LoRa 无线对讲机-按键2-解决按键唤醒屏幕bug
在退出低功耗后,虽然执行了void MX_SPI3_Init(void),但是因为hspi->State!= HAL_SPI_STATE_RESET,所以没有执行HAL_SPI_MspInit(hspi);= HAL_SPI_STATE_RESET,因为在进入功耗的时候,我在调试时候,一不小心注释了 spi的关闭函数,hspi->State=HAL_SPI_STATE_READY。明明退出低功耗后,设置成spi模式了呀。将低功耗时候,CLK改为输出高,退出低功耗后,第一个字节发送正确了。
2026-07-02 17:03:31
287
原创 LoRa 无线对讲机-显示1-OLED
使用的是微雪的1.3 OLED资料:www.waveshare.net/wiki/1.3inch_OLED_(B)_供电说明:VCC ,显示器供电电压(由外部提供),Note 5,外部供电,12V, 内部DC/DC升压不使能VBAT, DC/DC的供电电压,3.5V-4.2VVCC,显示器供电电压(由内部直流/直流转换器生成),Note 6,6.4V-9V内部DC/DC升压使能VDD, 是芯片的引脚电压。2.8V解释:外供模式:内供模式:3.3V│。
2026-07-01 13:57:35
222
原创 LoRa 无线对讲机-按键2-按键说明
1. 声音大小调节或者up / down : + 按键;3. power 开机 或者 关机使用。4. CH- ,CH+,通道增减按键。每一个按键,按下都可以唤醒屏幕6秒钟。2. PTT 按住这个按键说话。
2026-06-24 17:37:02
40
原创 LoRa 无线对讲机-显示1-工作界面
大概思路就是界面可以分很多区,1区显示图片(特殊标),2区显示数字,3区显示文字,不同区坐标不一样而已。3. 打开PCtoLCD2002 软件,图像模式,设置后,去模。复制数据到你的程序,图片显示就行。2. 用电脑自带的画图软件,调图片大小,比如像素 16*16,另存为单像素,bmp文件。去这里面,搜自己需要的特殊标。
2026-06-24 17:22:06
56
原创 LoRa 无线对讲机-显示1-启动界面
2. 打开PCtoLCD2002,选择图像模式,文件打开刚才的单色log4.bmp,不完整的可以自己完善一下,左键点缺失的像素点,右键去掉多余的像素点,然后设置一下字模设置,生成字模就行。复制生成的图片数据到数组,应用就行。a. 选择“重新调整大小” -> 像素:128 * 64->确定;b. 选择另存为bmp,-> 单色位图,保存为log.bmp。1. 将公司log用电脑自带的画图软件打开,3. 最终显示效果:()
2026-06-22 15:02:49
247
原创 赚外快了:等离子表面处理机电源算法需求说明
要求设备启动后 2~3秒内快速调节至目标功率,同时保证稳态运行稳定,当前算法无法满足该要求。有等离子/电晕机电源控制、PID电流环优化、非线性负载算法相关实战经验优先。负载特性:等离子负载为非线性负载,工况随枪头类型、输出功率动态变化。2. 或直接提供可适配的算法代码,支持对接现有STM32平台;设备支持多型号枪头更换,功率调节范围 600W~1500W;1. 可提供完整算法文字方案,我方技术团队自行完成代码落地;3. 方案落地验证、问题解决后,我方一次性支付对应费用。设备名称:等离子表面处理机。
2026-06-12 11:52:04
194
原创 keil watch 里面的值不实时变化,要打断点才可以看到变化,想不打断点,就可以实时看到变化,如何办
有些 ST-Link / CMSIS-DAP 不支持。2. 👉 打开 Keil 的「Run-time Watch」1. 把变量声明为 volatile。这个变量随时可能被“外部改变”ULINK 支持最好。
2026-02-03 17:57:29
154
原创 写 flash 时,FLASH_SR = 0x80, PGSERR 错误
写 flash 时,FLASH_SR = 0x80, 即 PGSERR 错误(编程顺序错误)// 如果hiwdg.Instance == 0x00000000 或随机值。我把看门狗初始化关掉后,程序还在喂狗,就会导致这个PGSERR错误。(HardFault或BusFault)PGSERR意味着"编程序列被打断"// 这将访问无效的内存地址!任何总线错误都会污染总线事务。→ 产生PGSERR。需要稳定的AHB总线。
2026-02-03 13:53:58
68
原创 高压高频电源的pid算法
在直流逆变交流系统中,PID控制器的离散化实现是一个关键的技术点。PID控制器的离散化通常涉及到将连续时间域的PID控制算法转换为离散时间域的算法,以便在数字系统中实现。下面我们将详细介绍PID控制器的离散化公式及其在电流控制环中的应用。
2026-01-31 22:21:32
601
详细介绍linux下移植wifi的步骤
2018-07-12
linux 下 移植 wifi . 概念讲解, iw ,wpa, dhco, hostapd每个步骤都有。
2018-07-17
svn 服务器和客户端
2018-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅