自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(204)
  • 资源 (4)
  • 收藏
  • 关注

原创 如何使用curl编程来下载文件

本文介绍了libcurl库的基础使用,重点讲解如何通过C语言实现文件下载功能。文章首先概述了libcurl作为一个跨平台网络传输库的特性,详细解析其核心数据结构:CURL句柄(具有独立性、可复用性和状态存储特性)和CURLcode返回值(包含80多种错误代码枚举)。通过具体代码示例,展示了如何利用libcurl进行文件下载操作,包括初始化、配置选项和错误处理等关键步骤。内容涵盖了从基础概念到实际应用的完整流程,为开发者提供了一份清晰的libcurl入门指南。

2025-08-11 22:50:40 442

原创 C语言如何安全的进行字符串拷贝

本文探讨了C语言中字符串拷贝的安全性问题,重点分析了strcpy和strncpy函数的使用方法及潜在风险。strcpy函数存在缓冲区溢出风险,当目标空间不足时会导致越界拷贝,可能破坏相邻内存数据。strncpy作为安全版本允许指定拷贝长度,但需注意手动添加字符串终止符'\0'的问题。文章通过具体代码示例展示了两种函数的正确用法,并对比了拷贝越界时的情况。最后建议在不确定字符串长度时优先使用strncpy,同时确保目标缓冲区足够大并正确处理字符串终止符,以提高程序安全性。

2025-08-11 22:49:52 692

原创 内存问题排查工具ASan初探

文章摘要 本文介绍了ASan(AddressSanitizer)内存错误检测工具及其在C/C++程序中的应用。ASan由Google开发,通过编译时插桩技术检测内存使用错误,如未分配/释放内存访问、堆栈溢出等,并提供详细错误报告。文章详细说明了ASan的编译选项(-fsanitize=address)和常见参数(如leak、thread等),并通过三个实例展示了其检测能力:内存泄漏(24字节泄漏)、堆缓冲区溢出(memcpy越界12字节)和栈缓冲区溢出(固定数组越界)。ASan能精准定位错误位置和内存分配信

2025-08-11 22:48:54 828

原创 如何使用backtrace定位Linux程序的崩溃位置

摘要:利用backtrace定位嵌入式Linux程序崩溃问题 在嵌入式Linux开发中,多人协作时定位代码崩溃点往往困难。本文介绍使用backtrace工具快速定位崩溃位置的方法。当程序崩溃触发SIGSEGV等信号时,通过signal捕获信号并在handler中调用backtrace获取调用栈信息,配合addr2line工具将地址转换为可读的函数名和行号。关键步骤包括:编译时添加-g调试选项,使用backtrace获取堆栈地址,backtrace_symbols转换地址为字符串,addr2line解析具体代

2025-07-05 23:25:08 822

原创 如何给printf打印增加颜色、时间戳、文件名、行号、函数名

本文介绍了在嵌入式Linux开发中优化日志打印的方法,通过添加颜色、等级标识等额外信息提高调试效率。首先解释了终端颜色控制原理(如"\033[31m"表示红色),并给出了基础颜色打印示例。然后展示了通过宏定义封装不同颜色等级的打印函数(如ERROR用红色,WARNING用黄色)。文中还详细说明了可变参数宏##__VA_ARGS__的作用,以及如何避免空参数导致的语法错误。最后提出了一个综合封装方案,将颜色代码、等级标识(INFO/WARN/ERRO)整合到统一打印宏中,使日志输出更结构化

2025-06-16 22:46:24 934

原创 UML活动图与泳道图

摘要:活动图是UML中用于描述业务流程的建模工具,主要展示顺序或并行的活动关系。与流程图不同,活动图面向对象且能表示并发活动。其基本元素包括活动节点、分支、同步棒等,通过泳道可以对活动进行分组。活动图能清晰呈现业务流程,辅助用例分析,如建造房屋案例所示。文章系统介绍了活动图的定义、元素及应用,突出了其在需求捕获中的重要作用。(148字)

2025-06-08 13:31:14 418

原创 UML用例模型与用例图

摘要:本文系统介绍了UML用例模型的核心内容。用例模型由系统边界、参与者、用例、用例图和用例描述组成,主要用于系统分析与设计。详细讲解了参与者的定义、寻找方法及图形表示;用例的概念及识别方式;用例图中包含的边界、参与者、用例及其关联、包含、扩展、泛化等关系;以及用例描述的要素和标准格式。最后通过POS系统案例展示了完整的用例模型应用,包括用例图和详细的事件流描述。用例模型为软件开发提供了有效的需求描述方法。

2025-06-08 13:30:22 1062

原创 UML基本概念:构造块、公共机制与规则

本篇介绍了UML的基础概念:构造块、公共机制和规则。构造块是构成UML模型的基础元素,包括事物、关系和图,它们共同构成了UML的核心。

2025-05-21 22:02:10 784

原创 C++函数模板基础

本篇介绍了C++中的函数模板,并通过一些示例来演示函数模板的使用。

2025-04-29 22:23:59 624

原创 C++实用函数:bind

本篇介绍了C++中bind功能的使用,并通过实际的例里来演示其使用场景。

2025-04-15 22:58:23 903

原创 C++实用函数:remove_if

本篇介绍了C++中remove_if函数的使用,它用于在vector在按照自定义的匹配规则查找到所有的匹配的数据,结合erase方法实现数据的删除。

2025-04-02 22:43:23 456

原创 C++实用函数:find与find_if

本篇来介绍C++中find和find_if函数的使用,通过多个实例来演示。

2025-03-24 22:39:22 1067

原创 面向对象的程序设计:更多概念

本篇来继续补充介绍面向对象的一些概念:构造函数、错误处理、作用域、操作符重、多重继承等,并以C++代码进行举例。

2025-02-22 19:52:54 532

原创 面向对象的程序设计:以对象的方式进行思考

本篇介绍了面对对象的程序设计中,如果以对象的方式进行思考,包括理解接口与实现的区别,使用抽象思维设计接口,以及具体的思考过程。

2025-01-20 23:01:44 927

原创 面向对象的基本概念

本篇介绍了面向对象的一些基本概念,是面向对象编程的基础。

2025-01-13 22:44:17 1143

原创 《大话设计模式》解读09-建造者模式

本篇介绍了设计模式中的**建造者模式**,并通过画小人的实例,使用Python编程,来演示建造者模式的使用。

2024-12-30 22:40:08 1050

原创 嵌入式Linux之wifi配网C++版

本篇介绍了如何使用C++编程,来实现嵌入式Linux开发中,调用wpa_supplicant等工具进行wifi配网,通过编写测试例程,并进行实际测试,验证代码功能。

2024-12-16 22:48:29 697

原创 嵌入式Linux之wifi配网脚本分析

本篇,以飞凌嵌入式Linux开发板为例,介绍了其自带的wifi配网脚本的执行原理。通过自动配置wpa_supplicant.conf文件,并调用wpa_supplicant进行wifi配网。下篇,将继续介绍如何通过C/C++编程,来实现wifi配网。

2024-12-02 22:19:47 1340

原创 Linux中时区获取与ISO8601时间完善

本篇介绍了通过编程实现linux系统中时区的获取,并完善上篇的ISO8601格式时间的生成,增加了时区的处理。

2024-11-18 22:30:17 1416

原创 Linux-C++获取当前时间与计算时间间隔

本篇介绍了ISO8601格式时间的生成以及两个ISO8601格式的时间间隔的计算。首先介绍需要用到的一些函数,然后介绍编程实现的思路,编写代码,实现所需的功能,最后进行编译运行测试。

2024-11-04 23:41:18 1335

原创 大话设计模式解读08-外观模式

本篇,来介绍《大话设计模式》的第12章——外观模式。并通过C++代码实现实例代码的功能。

2024-10-19 14:58:32 466

原创 大话设计模式解读07-模板方法

本篇,来介绍《大话设计模式》的第10章——模板方法。并通过C++代码实现实例代码的功能。

2024-10-19 14:57:21 553

原创 树莓派扩展RGB点阵屏的使用

本篇来介绍一个树莓派的RGB 8x8点阵屏扩展板的使用。

2024-09-03 23:15:16 1176

原创 大话设计模式解读06-原型模式

本篇,来介绍《大话设计模式》的第9章——原型模式。并通过C++代码实现实例代码的功能。

2024-08-19 22:58:06 1245

原创 大话设计模式解读04-代理模式

本篇,来介绍《大话设计模式》的第7章——代理模式。并通过C++代码实现实例代码的功能。

2024-06-24 23:24:50 894

原创 大话设计模式解读03-装饰模式

本篇文章,来解读《大话设计模式》的第6章——装饰模式。并通过C++代码实现实例代码的功能。

2024-06-17 22:47:13 1337

原创 大话设计模式解读02-策略模式

本篇文章,来解读《大话设计模式》的第2章——策略模式。并通过Qt和C++代码实现实例代码的功能。

2024-06-10 18:55:01 1331

原创 大话设计模式解读01-简单工厂模式

本篇主要介绍设计模式中的简单工厂模式,首先通过一个活字印刷的小故事来体会程序设计中的可维护、可复用、可扩展、灵活性的思想,并引入面向对象设计模式中的三大基本思想:封装、继承、多态,然后通过一个计算器的代码实现的例子,通过C++实现了三个版本的代码,由浅到深地理解面向对象的设计思想以及简单工厂模式的使用。

2024-06-03 22:50:47 1535

原创 嵌入式基础知识-信号量,PV原语与前趋图

本篇介绍了信号量与PV原语的基础知识点,并介绍了PV操作的一些应用,实现进程互斥和实现前趋关系,前趋关系中使用前趋图来实例分析PV操作影响信号量变化的具体运行过程。

2024-03-04 22:12:14 1423 1

原创 嵌入式基础知识-组合逻辑与时序逻辑电路

本篇来介绍嵌入式硬件电路的相关知识:组合逻辑电路与时序逻辑电路

2024-02-05 22:25:04 946

原创 嵌入式基础知识-逻辑覆盖测试用例设计

本篇介绍了软件测试中,白盒测试中逻辑覆盖的各种实例情况,包括语句覆盖SC、判定覆盖DC、条件覆盖CC、条件判定覆盖C/DC、条件组合覆盖MCC、路径覆盖PC、修正的条件判定覆盖MC/DC的实例。

2024-01-29 22:26:06 1924

原创 嵌入式基础知识-测试基础概念

本篇介绍了软件测试的相关基础知识,包括静态测试与动态测试、测试策略、测试阶段、白盒测试与黑盒测试等。下篇将根据实例,继续介绍白盒测试,各种语句覆盖的实操设计。

2024-01-22 22:19:10 1880

原创 STM32MP157D-DK1 STM32CubeID使用与M核开发

本篇介绍了STM32MP157D-DK1开发板M核程序的开发流程,包括STM32CubeIDE创建工程,引脚配置与程序编写,最终实现了基础了LED亮灭实验。

2024-01-08 22:14:49 1443

原创 STM32MP157D-DK1 Qt程序交叉编译与运行测试

本篇介绍了STM32MP157D-DK1开发板Qt程序交叉编译环境的搭建过程,并通过一个实际的Qt程序,编译后在板子中实际运行测试,验证Qt编译环境的可用性。

2024-01-02 22:22:21 955

原创 STM32MP157D-DK1开发板Qt镜像构建

本篇介绍了STM32MP57-DK1开发板如何搭建Qt运行环境的过程,通过构建Distribution包,并解决中间构建的各种问题,最终构建出了带有Qt功能的系统镜像,并烧录后测试。

2023-12-25 22:27:16 1745 1

原创 STM32MP157D-DK1开发板固件烧录

本篇介绍了STM32MP157D-DK1开发板烧录官方固件的详细过程,记录了烧录过程的实际操作结果和中间遇到的问题及解决方法,最后演示烧录后的效果。

2023-12-11 22:35:30 1750 2

原创 pyQt主界面与子界面切换简易框架

本篇介绍了使用pyQt,设置一个简易的多界面切换框架,讲解了其切换的基本原理,并进行了实际效果的展示。

2023-11-20 23:28:59 1269

原创 嵌入式基础知识-RSA非对称加密基本原理

本篇介绍了RSA这种非对称加密算法的加密解密基本过程,以及公钥和私钥的计算基本步骤,并补充介绍了质数的相关概念,最后通过一个实例来简单体会下RSA密钥的计算。

2023-10-30 22:34:43 598

原创 嵌入式基础知识-IP地址与子网划分

本篇介绍IP地址与子网划分的基础知识,先介绍了IPv4与IPv6的的基础知识与区别,然后结束了子网划分的一些概念,并通过一些实际的例子进行讲解分析。

2023-10-07 22:24:22 306

原创 嵌入式基础知识-信息安全与加密

本篇介绍了信息安全的基础知识,以及数据加密相关的基础知识,包括加密的分类,信息摘要,数字签名与数字证书等。

2023-09-11 22:45:15 751

GD32各系列官方源码例程.rar #资源达人分享计划#

GD32各系列官方例程源码,包括:103系列,105系列,107系列,130系列,150系列,170系列,190系列,205系列,207系列,303系列,305系列,307系列,330系列,350系列,403系列,407系列,450系列

2021-08-04

MPU6050资料(内含测试源码)

MPU6050资料,包含数据手册及51 Arduino STM32的测试程序。

2015-07-23

GD32F4xx数据手册.rar #资源达人分享计划#

GD32F4xx数据手册,包括: GD32F4xx_User_Manual_CN_Rev2.3.pdf、 GD32F4xx_User_Manual_EN_V2.2-2.pdf、 GD32F450xx_Datasheet_Rev1.1.pdf、 GD32450I-EVAL__User Manual.pdf、 使用说明_GD-Link Programmer_v4.0.pdf、 GD32F4xx.pdf、 GD32_USBFS_USBHS_gujiankuyonghuzhinan_Rev1.0.pdf

2021-08-04

FreeRTOS+STM32F407+Keil工程模板

压缩包内有3个文件夹: 1. Template_lib:建立工程需要的库文件,包括STM32库文件(v1.4.0)和FreeRTOS库文件(v9.0.0) 2. Template_noOS:基于Keil5.15的STM32F407工程模板(未使用FreeRTOS) 3. Template_FreeRTOS:基于Keil5.15的STM32F407+FreeRTOS工程模板

2020-05-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除