- 博客(54)
- 收藏
- 关注
原创 好用的md文件编辑器——TyporaS与Typora
TyporaS是一款免费、开源的Markdown编辑器,基于Electron与TOASTUIEditor构建,继承Typora“编辑即预览”的流畅体验,却解决了其多文件管理难、图片路径易崩、新建文件繁琐等痛点。它支持标签页多文档、右键一键新建、自动保存与冲突检测、可视化表格编辑、智能图片管理(自动生成assets文件夹)、脚注、专注模式等功能,且完全本地运行,无广告、无授权限制。界面简洁,功能实用,适合追求高效写作的开发者与技术笔记用户。
2026-10-30 17:03:23
309
原创 50元从零到成品:一套AI辅助的嵌入式实战入门教程——IIC篇
本文以蓝桥杯调试AT24C02的经历引出IIC协议的学习,通过家长会比喻生动诠释IIC“一问一答”的通信机制。详解IIC物理层(SCL/SDA两线)、协议层(起始/停止、数据传输、应答)及STM32硬件IIC配置,最终目标是用硬件IIC驱动OLED屏显示内容。强调理论结合实践,善用例程与AI辅助,提升开发效率,为后续嵌入式通信打下坚实基础。
2026-10-22 17:40:17
156
原创 50元从零到成品:一套AI辅助的嵌入式实战入门教程——ADC采集篇
本文以太阳能控制器项目中的ADC采集难题为引,深入讲解STM32 ADC原理与应用。从模拟信号数字化需求出发,介绍ADC工作原理、采样时间配置及12位精度转换公式。通过光敏电阻电压采集实验,实现光照控制指示灯亮灭,并重点强调缓冲设计的重要性——避免阈值附近波动导致的频繁跳变,提升系统稳定性与用户体验。结合CubeMX配置与代码实现,完整呈现从硬件连接到软件滤波的ADC采集链路,揭示“看似简单,实则有门道”的工程真谛。
2026-09-28 09:54:51
155
原创 50元从零到成品:一套AI辅助的嵌入式实战入门教程——定时器篇
本文以煮鸡蛋比喻引出STM32定时器原理,详解其核心组件(预分频器、计数器、自动重装载寄存器)及PWM工作模式。通过配置TIM1定时器,实现无源蜂鸣器播放“哆来咪发索拉西”音阶,重点讲解频率计算、ARR/PSC参数设置与代码实现。结合CubeMX工具完成时钟配置与引脚映射,最终实现音调精准控制,展示定时器在嵌入式系统中高效处理定时任务的核心价值。
2026-09-21 11:16:49
223
原创 50元从零到成品:一套AI辅助的嵌入式实战入门教程——中断篇
先别急着看寄存器,咱们用一个生活中最常见的场景来理解中断。假设你正在书房里专心写代码(这是你当前执行的主程序这时候——叮咚——门铃响了(这是一个中断事件你停下手中的工作(打断当前任务),起身去开门(执行中断服务程序发现是快递员,签收完包裹之后,你回到书房,继续接着刚才的代码往下写(恢复主程序执行中断源:门铃(触发中断的外部事件)中断响应:你停下当前工作去开门(CPU暂停主程序,跳转执行中断服务函数)中断服务函数:开门、签收这个具体动作(处理中断事件的代码)恢复执行。
2026-08-28 15:34:12
222
原创 50元从零到成品:一套AI辅助的嵌入式实战入门教程——GPIO控制与采集篇
本文介绍了基于STM32的室内环境检测系统中GPIO模块的实现方法。首先回顾GPIO基础知识,包括输入输出模式分类及应用场景。然后详细讲解硬件准备、CubeMX配置步骤和接线方法,重点实现通过PB12引脚读取声音传感器信号,并控制PC13引脚LED的状态变化。文章提供了完整的代码实现方案,使用轮询方式检测噪声并控制LED,同时分析了当前方案的局限性(实时性不足、无法量化噪声强度),指出后续将通过外部中断和ADC改进。最后分享了工程代码资源,并预告下一章将引入UART串口通信功能。
2026-08-18 09:44:27
158
原创 50元从零到成品:一套AI辅助的嵌入式实战入门教程——基础工程篇
本文介绍了STM32CubeMX的基础配置方法,重点讲解了GPIO、RCC和SYS三个核心配置项:1. GPIO配置:设置PC13引脚为输出模式,用于控制LED灯 2. RCC配置:选择8MHz外部晶振作为时钟源,并通过时钟树完成频率分配 3. SYS配置:选择SWD调试接口以适配Jlink OB仿真器 文章提供了详细的操作步骤,并强调了三个注意事项: 用户代码必须放在USER CODE注释区域内 不要直接修改生成的驱动文件 建议使用GB2312编码格式 最后提供了基础工程文件下载链接,为后续开发环境配置和
2026-08-13 13:06:36
196
原创 50元从零到成品:一套AI辅助的嵌入式实战入门教程——自动开发环境配置篇
这篇文章分享了一个高效搭建STM32嵌入式开发环境的完整方案。作者通过总结自身踩坑经验,提供了一套自动化配置流程,包含:1)免费工具链(Trae AI IDE、J-Link、STM32CubeMX等);2)详细图文安装指引;3)预置资源包(含编译链、配置文件、示例程序);4)常见问题解决方案。该方案将传统需要数天的环境搭建过程缩短至30分钟内完成,特别适合新手快速实现从零到LED闪烁的入门验证。所有资源已打包提供网盘下载链接。
2026-08-03 17:55:57
214
原创 50元从零到成品:一套AI辅助的嵌入式实战入门教程——序言篇
一位有8年经验的嵌入式工程师回顾了从51单片机到STM32、ESP32等芯片的开发历程,决定推出以STM32F103为核心的入门教程系列。该教程采用"核心板+传感器模块"的项目式教学,通过构建室内环境检测系统,系统讲解GPIO、ADC、串口等外设应用。教程定位实操导向,结合AI辅助编程,硬件成本仅需50元左右(核心板10元+传感器30元+下载器10元),适合初学者快速上手并能产出实用作品。作者特别选用STM32F103C8T6作为教学主线,因其性价比高(64KB Flash)、资料丰富且
2026-07-29 13:19:00
174
原创 8块钱手把手教你做无线串口监视器:蓝牙透传+局域网Websocket+MQTT(二)
本文介绍了一款无线串口监视器的功能升级,重点解决了上代版本中参数固化、连接距离受限等问题。新版通过小程序实现WiFi密码和串口波特率的灵活配置,并存储在NVS中,无需重复烧录程序;新增WebSocket局域网监视模式,突破蓝牙距离限制,手机端可通过WiFi实时查看串口数据;支持蓝牙/WiFi模式自由切换,通过指示灯直观显示当前状态。升级后设备成为真正的通用工具,适合不同场景下的无线调试需求,所有参数均可运行时修改并永久保存。文章附有详细操作指南和固件下载链接。
2026-07-27 16:54:47
224
原创 8块钱手把手教你做无线串口监视器:蓝牙透传+MQTT(一)
摘要:作者开发了一款基于ESP32-C3的无线串口转发器,通过蓝牙BLE和MQTT双模实现远程串口监视功能。硬件采用8元的ESP32-C3核心板,连接目标设备的串口后,数据可实时传输至手机小程序(蓝牙模式)或局域网电脑(MQTT模式)。该方案解决了传统串口调试需要物理连接的问题,适用于危险/不便靠近的调试场景。代码开源并提供详细复刻步骤,未来计划增加Web配置和WebSocket支持。开发过程中利用AI辅助生成代码,显著提高了效率。
2026-07-23 13:35:38
144
转载 小智 AI源码简单调试
本文介绍了基于ESP32的小智AI聊天助手开源项目的学习与实践过程。文章首先从GitHub获取项目源码,详细解析了项目文件结构,包括主应用层、核心服务层、硬件抽象层等模块划分。项目采用清晰的层级架构设计,配套文档丰富。用户可通过官方支持的硬件快速完成编译下载和网络配置,在控制后台进行个性化设置。作者分享了两个自定义功能实现(ADC温度采集和待机界面重设计),建议新手避免直接修改核心代码,以免引发内存溢出等问题。最终展示了修改后的流畅运行效果,肯定了小智AI的整体表现。
2026-06-29 08:15:00
210
转载 一个用电脑就离不开的文件搜索工具【Everything】
【摘要】Everything是一款高效的本地文件搜索工具,通过直接读取NTFS文件系统的MFT主文件表实现秒级检索,解决了Windows自带搜索速度慢、占用资源高的问题。其核心优势在于:1.利用系统底层机制建立实时索引,支持NTFS格式磁盘的即时更新;2.内存占用极低(12万文件约16MB);3.提供强大的搜索语法(布尔运算、通配符、路径/大小/时间筛选等)和1.5版新增的全文内容搜索功能。软件支持开机自启,适合需要频繁查找文件的用户,尤其推荐作为替代Windows低效搜索的首选工具。
2026-06-25 08:15:00
66
转载 ESP32修改、编译、下载、调试全自动化环境搭建
本文介绍如何搭建ESP-IDF+Cursor的ESP32全自动开发环境。相比于Arduino的封装限制,ESP-IDF提供更底层的开发能力。通过乐鑫官方工具EIM安装ESP-IDF后,只需将PowerShell环境信息提供给Cursor AI,即可实现代码编译、烧录、调试的全程自动化。AI能自动处理错误、分析日志,大幅降低ESP-IDF开发门槛。文中详细说明了环境配置步骤和AI交互技巧,为开发者提供高效便捷的ESP32开发新方案。
2026-06-23 09:10:50
37
转载 AT32编译、下载、调试全自动命令行调试环境搭建
AT32 Work Bench生成的Makefile本身就支持命令行,而且默认开了-g -gdwarf-2调试信息和-Og优化,不用我操心。结果在中文编码上有踩坑了,因为我的文件用的GB2312,解析也得需要都改成GB2312。我在PowerShell里站在项目根目录执行.\debug\flash.bat,但批处理的工作目录没切过去,J-Link在debug目录下找build/…至于固件本身,啥也不用改——RTT库你本来就集成了,GDB调试是芯片自带的能力,编译选项Makefile也帮你配好了。
2026-05-21 10:04:50
30
转载 诡异的冷启动 Bug:不插仿真器就死,插上跑两步又活了,元凶让人意想不到
摘要:设备冷启动时SD卡初始化失败,但接仿真器暂停后却能正常运行。排查过程涉及软件时序、栈溢出等问题均无效,最终发现是屏幕瞬时功耗导致电压不稳。屏幕颜色异常时SD卡初始化必败,待电压稳定后问题消失。该案例揭示了硬件电源问题可能引发的软件故障现象,提醒开发者注意跨领域因素排查。
2026-05-21 09:35:36
28
原创 预言成真!OpenAI描绘的“未来应用”,30秒做出来专属APP还赚了100块
未来的软件形态,应该是“为你定制,用完即走”的——当你需要一个工具时,它会即时为你的需求定制而生。看着截图里那个“+¥100 发放中”的状态,真的有一种“技术变现”的爽感。当我把上面生成的“萌宠魔塔”一键发布到“灵光圈”社区后,经过一周左右的时间吧,最近登录无意间发现系统直接给了我100元的预估激励!更让我惊喜的是,我刚刚亲测了一把,不仅验证了奥尔特曼的预言,还顺手赚了100块钱的“外快”。多多少少还是要做的有点差异性的,然后想到经典魔塔的画风还是比较粗糙的于是准备,“做一个萌宠拟人化为主角的魔塔游戏”。
2026-04-30 10:08:24
53
原创 告别5000位排队!亲测有效的TRAE替代工具清单
不过就是这几次的免费机会,个人感觉真的比国内用的TRAE、灵码、codebuddy什么的好用,至少一些我都不知道怎么回事的bug真的在3次对话中解决掉了。但是应该是有使用额度的。这个很出名了,国外的最开始一批的ai编程工具,好用是好用不过要是日常使用的话不管是用网上的“无限续杯”还是买套餐肯定都是要花钱了。积分消耗的话还算是比较耐用的,这里我打开一个新代码然后提了一个非常模糊的命令,让他自己查询代码解决问题。通过后台查看消耗了7个积分,如果是比较明确的指令,并且不是第一次查看代码的话,应该还能再省一点。
2026-04-23 14:43:51
2237
原创 【程序配置分享】FMC驱动LT758屏幕
这里是在显示汉字的时候,发现需要有个字库,查资料说字库是放在外部flash中的屏幕启动后把字库从外部flash读取到sram中。最后才发现其实屏幕有一个W25Q128,而且全部通信都是FMC控制的并口通信,而操作外部flash需要的spi是LT758和W25Q128之间的,跟底板完全没关系。因为除了8080并口接口外屏幕实际还有其他的一些io接线,开始觉得可能是那个是控制背光PWM的,最后发现背光其实也是屏幕本身自己控制的,只需要通过通信控制。所以准备自己配置一下,写个单独的屏幕demo程序。
2026-04-19 16:31:50
253
原创 实用软件之【落雪音乐】安装与使用介绍
目前这个项目是开源的,在GitHub上也能找到,而且也有自己的官网。所以要想能用一个软件适配全部平台的歌曲需要有音源才能使用。有一些常用的音源比如:六音音源、野花、野草、ikun等等。音源本身就是一个.js的文件需要导入到软件中就可以了。音源才是能听歌的关键,音源支持那些平台落雪才能播放那些平台的音乐。所以想要全平台使用必须要有好用的音源才行。导入方法也是非常简单,找到设置界面-》找到导入音源,然后把下载好的音源导入就可以了。作为免费开源的音乐软件,在众多音源的加持下真正做到了听歌免费。
2026-04-16 14:34:10
859
原创 关于MCU锁死使用仿真器的几种解决方法
在开发过程中难免遇到芯片锁死的问题,解决的方法有很多包括改变BOOT0/1的电平等方式,不过这种需要硬件上的改动都比较麻烦。感觉就是手动去执行了一边上述操作,不过命令行更底层而且支持的指令多更灵活。这是最容易尝试的办法,就是在写入前全部擦除芯片,虽然方法简单但是可能有时候会有不错的效果。操作非常简单,在安装jlink全家桶里就有这个软件,打开后直接输入对应型号的数字就可以了。目前还没有用这个很顺利的解锁过,不过每次排查的时候都会试一试这个方法。同时全擦还能解决读报护的芯片下载不下去的问题。
2026-04-13 09:55:03
303
原创 实用软件推荐【知我笔记】
第二点就是他可以借助局域网非常方便的把手机中的数据插入到笔记中,而且也会备份到电脑上笔记保存的位置。如果想以后能借助ai做一个数字化的自己或者让你的ai助手非常懂你的各种习惯了解你做过的事。有了知我笔记,就不用操心建立个人知识库时会不会记录的结构混乱、ai不能识别、多媒体内容不能一起保存、操作复杂等问题了,可以专心的去记录自己的工作习惯和值得记录的时刻。一个是他保存的文件是按照时间顺序去保存的,而且在文件中添加的图片和视频会自动备份到这篇笔记的文件夹下确保不会因为源文件删除而导致丢失。
2026-04-10 19:15:27
89
原创 OpenClaw 本地部署完整指南(Windows + Ollama)
本文档基于实际部署经验编写,旨在帮助你在 Windows 系统上从零开始搭建 OpenClaw,并连接本地 Ollama 模型(如 Qwen2.5 或 Qwen3),使其具备完整的智能体能力。文档包含了所有关键步骤以及常见问题的解决方案。
2026-02-24 15:50:43
50830
5
原创 AT32开发环境体验
本文记录了作者首次使用国产雅特力 AT32 单片机的开发体验。通过其官方 IDE 与图形化配置工具 AT32 Workbench,不仅实现了快速项目搭建和 FreeRTOS 移植,还成功结合 Makefile 与 AI 工具完成自动化编译。整体开发生态成熟、中文支持完善,展现出 AT32 作为 STM32 替代方案的强大潜力。
2026-01-08 14:52:56
496
原创 esp8266实现mqtt(二)
本文介绍了一种简化ESP8266连接MQTT的方法,通过Arduino IDE直接编程实现自动连接WiFi和MQTT服务器。相比AT指令方式,该方法无需每次上电配置,只需修改代码中的WiFi和MQTT参数即可。程序实现了串口数据与MQTT主题的双向透传,包含WiFi/MQTT连接状态LED指示功能。开发者需安装PubSubClient库,配置好网络参数后即可编译下载,无需硬件短接操作。最终可通过MQTT.fx工具验证数据传输功能,实现传感器数据上传和远程控制。
2025-12-26 16:58:09
495
原创 使用STM32F103CBT6程序调试GD32F103CBT6下载程序失败
摘要:调试GD32F103CBT6时发现STM32F103CBT6程序无法下载但能识别仿真器。测试发现STM32CubeProgrammer可连接擦除芯片,说明芯片正常。问题根源在于Keil的Flash写入时序设置,GD32与STM32存在差异。解决方案是在Keil中选择GD32对应的Flash配置即可成功下载hex文件。该方法已通过DEEPSEEK验证有效。
2025-12-04 11:50:12
276
原创 给GD32烧录hal库程序导致芯片锁死问题
摘要:开发中从STM32转向GD32单片机,仍习惯使用STM32CubeMX和HAL库开发。近期遇到程序升级后芯片锁死问题,表现为J-Link无法检测设备,STM32CubeProgrammer提示DeviceID:0xFFFF(写保护状态)。解决方法是通过J-Link Commander连接后执行擦除操作,恢复芯片正常连接。具体原因尚不明确,可能与HAL库使用有关,但此前未出现过类似情况。
2025-11-25 10:42:40
465
原创 基于Node-Red实现MQTT数据接收并存储到本地
摘要:Node-RED是一款基于流的低代码编程工具,适用于物联网、自动化等场景。文章介绍了Windows系统下的安装步骤:先安装Node.js环境,再通过命令行安装Node-RED。详细说明了MQTT数据接收的配置流程,包括功能框设置和部署操作。重点分享了将JSON格式数据转换为CSV文件的处理代码,通过键名映射实现中文字段转换,并确保首次写入时包含表头,后续只追加数据内容。
2025-11-17 13:45:22
453
原创 搭建局域网MQTT通信
本文介绍了在局域网内搭建MQTT通信系统的方案。作者放弃了云服务方案,选择在本地部署EMQX作为MQTT Broker,以保障数据安全并节省成本。文中详细记录了在Windows系统上通过Docker安装EMQX企业版6.0.1的过程,包括镜像加载、容器运行及端口映射等配置步骤,并提供了管理界面的访问方式(http://localhost:18083)。该方案实现了发送设备、接收设备和Broker服务器在同一局域网内的MQTT通信,为测试数据的本地传输提供了安全可靠的解决方案。
2025-11-14 15:15:41
589
原创 ESP8266实现mqtt
本文详细记录了ESP8266-01S模块升级MQTT固件的全过程。首先发现旧版固件不支持MQTT,通过将P0口接地解决下载失败问题。由于1MB版本固件已停止维护,经多次尝试找到可用版本并配合老版升级工具完成烧写。文章详细说明了下载模式接线方法(IO0接地、RST短暂接地)及模式切换技巧。成功升级后,通过AT指令测试WiFi连接和MQTT功能,使用公共服务器验证通信,并解决了JSON格式数据发送时的特殊字符转义问题。最终实现ESP8266与MQTT.FX客户端的双向通信,为物联网应用奠定基础。
2025-10-09 11:59:41
1279
3
原创 关于使用STM32CubeMX生成程序仿真需要多次点击“运行”才能启动的问题
摘要:在嵌入式开发中,使用MicroLIB或标准C库会影响printf等函数的行为。MicroLIB是一个精简库,不依赖半主机机制,需要手动重定向I/O,具有体积小、启动快的特点;而标准C库功能完整,默认使用半主机机制处理I/O。配置时需在Options for Target中勾选Use MicroLIB或自定义库,并进行相应设置,调试时会直接跳转到main函数首行。
2025-09-29 16:57:33
299
原创 关于使用STM32CubeMX生成的代码使用printf输出中文乱码
发现就是编码格式的问题。最后用示例的main替换我程序的main发现就可以了。最后发现可能跟使用STM32CubeMX生成的代码的编码格式有关,即使keil工程中显示的编码格式是正确的,如果在生成的.c或者.h中添加字符串也是不行的。今天调试程序遇到printf输出中文乱码,但是示例程序输出是正常的,代码逻辑是移植过来的。这里我把字符串定义在main中,输出就是乱码的。但是自己建立的.h就不会乱码。
2025-04-17 11:46:33
997
原创 level3 Linux操作系统使用及C高级编程
define 虽然只是简单的替换,但是也可为为类型取别名,还可以定义常量、变量、编译开关等。4.对指针的操作不同:typedef取别名的指针,前加const之后,指针不可更改,但是指针指向的内容可以更改,且一次能定义多个指针。在GCC中,对齐模数的准则是:对齐模数最大只能是4,也就是说,即使结构体中有double类型,对齐模数还是4,所以对齐模数只能是1,2,4。常用选项:-c只编译, -o另命名, -g 产生调试信息,-O优化,-O2更高级的优化,-I添加目录,-l〈库名〉链接库,-L指定库的路径。
2024-02-27 19:25:19
882
原创 JLink报错:Flash banks in the project are overlapping.
用jlink升级,擦除芯片时候出现报错。是删除的地址有重复的导致的。删掉一个重复的bank。
2023-11-08 10:12:07
645
1
原创 Level10 数据库开发
SQLite的源代码是C,其源代码完全开放。SQLite第一个Alpha版本诞生于2000年5月。他是一个轻量级的嵌入式数据库。SQLite有以下特性:零配置一无需安装和管理配置;储存在单一磁盘文件中的一个完整的数据库;数据库文件可以在不同字节顺序的机器间自由共享;支持数据库大小至2TB;足够小,全部源码大致3万行c代码,250KB;比目前流行的大多数数据库对数据的操作要快;
2023-10-22 22:04:17
196
1
原创 c函数记录
如果 x 是负数,则返回它的相反数,即 -x。如果 x 是 0,则返回 0。如果 x 是正数,则返回 x。空格字符、非空格字符。format 说明符。
2023-08-06 19:25:00
162
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅