- 博客(21)
- 收藏
- 关注
原创 轻量级嵌入式图形渲染“TinyGL“使用说明
TinyGL 是一个由著名程序员 Fabrice Bellard(他也是 FFmpeg 和 QEMU 的创始人)开发的轻量级软件库。它本质上是 OpenGL 1.1 规范的一个子集实现,专门为资源受限的环境(如嵌入式系统、微控制器(MCU)、或没有强大图形硬件的旧平台)而设计。其设计初衷并非追求与完整版 OpenGL 的百分之百兼容,而是在保持小巧代码体积和较高运行效率的同时,提供 OpenGL 中最核心、最常用的图形渲染功能。这意味着从标准 OpenGL 迁移到 TinyGL 时,开发者可能需要对原有。
2025-09-11 16:47:58
617
原创 C语言开发常见Bug总结
/ 期望 25,实际展开为 2 + 3 * 2 + 3 = 11问题: 宏是简单的文本替换。应始终为宏参数和整个表达式加上括号:#define SQUARE(x) ((x) * (x))。
2025-09-06 14:08:47
440
原创 FontCvt.exe 使用指南:生成嵌入式字库
FontCvt.exe 是一款非常实用的字体转换工具,主要用于嵌入式GUI开发(如emWin、ucGUI)中,将电脑上安装的TrueType等字体转换为可在嵌入式设备上使用的像素字体文件(通常是C语言源文件格式)。下面我为你整理了它的主要功能和使用方法。
2025-09-05 13:53:35
613
原创 嵌入式常见问题总结
考察项目经验和编程的严谨性。答案解析:程序在运行中,动态申请了内存(malloc)但未及时释放(free),并且失去了对该块内存的引用,导致系统无法回收这部分内存。长期运行后,可用内存逐渐减少,最终导致系统崩溃、重启。成对编程:写malloc的时候立刻写上free。谁申请,谁释放:在同一个模块或抽象层内管理内存。使用静态/全局数组:在资源紧张的嵌入式系统中,经常直接使用静态数组来避免动态内存分配。使用工具检测:如Valgrind、mtrace等。考察对RTOS核心难题的理解深度。
2025-08-28 18:08:38
550
原创 UCOS操作系统的基础知识
嵌入式开发中常用的操作系统(OS)主要分为实时操作系统(RTOS)和嵌入式操作系统(Embedded OS)两大类。以下是常见的嵌入式操作系统及其特点:分类操作系统特点适用场景许可证RTOSFreeRTOS开源、轻量级(最小6KB RAM),支持优先级抢占低资源MCU(如STM32)硬实时、抢占式多任务,内存分区管理工业控制、汽车电子商业授权(部分开源)RT-Thread国产开源,集成GUI/网络协议栈,支持POSIX物联网设备、智能硬件Apache-2.0VxWorks。
2025-08-11 15:53:20
778
原创 常见的通讯协议总结
TWinCAT的使用参考:F:\Users\yuehan\EtherCAT资料\EtherCat-Smart-Board开发板光盘-20190817\DOC\Ecat-Smart-Board开发板使用教程-R5文档。3.IIC通过总线广播从机地址来寻址,SPI通过对从机发送使能信号来寻址。2.均采用TTL电平,传输距离和应用场景类似。4.IIC的时钟极性和相位固定,SPI可调。2.IIC有应答机制,SPI无应答机制。1.IIC为半双工,SPI为全双工。1.均采用串行同步的方式。3.均采用主从方式工作。
2025-07-25 10:32:48
647
原创 KEIL调试技巧
Watch观察窗动态显示在Debug调试窗口下–>View–>Periodic Window Updata选项勾选,这是Watch观察窗就能动态显示了
2025-07-21 17:39:50
373
原创 嵌入式开发工具
搭建自己的开发平台用到工具CSDN: 记录笔记git : 分布式版本控制系统,用于仓库的版本管理。tortoisegit : 其实是一款开源的git的版本控制系统,TortoiseGit提供了人性化的图形化界面。gitee: 基于git的代码托管和研发协作平台。禅道迅捷版: 禅道迅捷版是易软天创旗下的一款轻量级的项目管理工具。......
2025-01-03 17:52:21
379
原创 Hard_Fault_Handler处理
出现原因:内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。堆栈溢出。增加堆栈的大小步骤:找到程序进异常的地方在固定的地方进异常在不确定的地方进异常...
2024-04-03 11:14:06
1419
3
原创 PID相关
位置式PID与增量式PID区别图文详解PID调参一文弄懂调节器的PID自整定原理和方法PID自整定PID参数的工程整定方法继电反馈自整定算法PID控制及整定算法轻松解读PID控制算法的三种参数的自整定方法如何去设计模糊PID自整定控制器PID算法与PID自整定算法模糊自整定PID控制器的设计及性能仿真研究模糊PID算法PID控制器开发笔记之十二:模糊PID控制器的实现模糊控制篇 常用隶属函数介绍和实现gitee代码(模糊pid)各种PID算法的整理和总结变比例PID
2022-11-07 21:06:31
324
原创 C语言面向对象编码规范
C语言面向对象编码规范一、封装的实现1.1头文件示例1. 结构体2. 构造函数3. 析构函数4. 对象指针形参(实现c++中this指针的类似效果)5. 函数命名1.2类的实现示例1.3关于数据成员的隐私性1.4关于成员函数的隐私性1.5使用示例二、继承的实现1.1继承的示例1. 父类对象2. 构造函数3. 析构函数1.2使用示例三、多态的实现3.1修改后的Shape类定义和实现3.23.3一、封装的实现1.1头文件示例/* Shape.h */#ifndef XXXX_SHAPE_H__ /* X
2022-04-26 19:47:22
673
原创 git的使用
git的使用初始化一个git仓库切换分支向远程推分支vi编译器操作Git cherry-pick的用法Git 创建空文件夹更新代码合并带子模块的仓库初始化一个git仓库$ git init### 配置所有 Git 仓库的 用户名 和 email $ git config --global user.name "Your Name"$ git config --global user.email "youremail@example.com"### 配置当前 Git 仓库的 用户名 和 ema
2022-04-24 20:12:38
331
原创 C语言基础知识
C基础知识不同类型变量的范围float表示的数据范围为什么比long的范围要大printf()函数的使用浮点数如何取余不同类型变量的范围32位操作系统,不同类型变量对应的字节数为:(红色的表示与64位系统不同之处)类型分类字节数范围备注char字符型1个0~255char*(即指针变量)指针4个/short int短整型2个-32768~32767unsigned short int短整型2个0~65535i
2022-04-22 17:17:07
1292
原创 C语言 每日一题
C语言 每日一题 第一周9月13日 星期一题目一:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?题目二:输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。保证输入的整数最后一位不是0。9月14日 星期二9月15日 星期三9月16日 星期四9月17日 星期五9月18日 星期六9月19日 星期日9月13日 星期一题目一:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?题目描述:输入一个int型整数,按照从右向左的阅读
2021-09-13 23:41:48
464
原创 Markdown基本语法
C语言 每日一练题目汇总新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入题目汇总你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一
2021-09-13 23:00:17
135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人