自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

C++无脑入~~~~

所有文章,都是自己的学习笔记。

  • 博客(28)
  • 收藏
  • 关注

原创 Ubuntu下挂载NTFS格式磁盘

在使用Ubuntu时,你可能会遇到需要访问Windows NTFS格式分区的需求。幸运的是,通过一些简单的步骤,你可以轻松地在Ubuntu中挂载和访问这些分区。本教学博客将详细介绍如何在Ubuntu操作系统中挂载NTFS格式的磁盘。

2025-06-10 15:34:18 256

原创 Ubuntu 下开机自动执行命令的方法

crontab是 Unix/Linux 系统中用于设置周期性执行任务的工具。除了可以设定定时任务外,它还支持一个特殊的时间关键字@reboot,表示在每次系统启动时执行一次指定的命令。这种方式适合一些不需要持续运行但需要在开机时自动执行的脚本或程序。

2025-06-07 22:12:26 715

原创 在Ubuntu上使用 dd 工具制作U盘启动盘

在Ubuntu系统中,使用dd命令制作U盘启动盘是一种可靠高效的方法。通过终端操作,用户需要先确认U盘设备名(使用lsblk或fdisk -l),卸载已挂载的U盘,然后执行dd命令写入ISO镜像(如sudo dd if=image.iso of=/dev/sdX bs=4M status=progress)。该方法特别适用于需要精确控制写入过程、图形工具失效或制作特殊格式启动盘(如UEFI+NTFS组合)的情况,但操作时需格外注意设备名称以避免误操作导致数据丢失。完成后建议运行sync确保数据完全写入。

2025-06-07 22:08:32 993

原创 STM32printf重定向到串口含armcc和gcc两种方案

为了兼容不同编译器,可以使用预处理器宏定义统一代码风格,避免重复编写两个版本。// 通用重定向头文件或代码段int// 通用重定向头文件或代码段 # ifdef __GNUC__ # define PUTCHAR_PROTOTYPE int __io_putchar(int ch) # else # define PUTCHAR_PROTOTYPE int fputc(int ch , FILE * f) # endif PUTCHAR_PROTOTYPE {return ch;

2025-04-30 13:35:58 1142 1

原创 C语言常用的宏定义

在C语言编程中,宏定义不仅可以使代码更简洁,而且在某些场景下能够显著提高代码的性能和可维护性。本文将介绍一些常见的高级宏定义及其使用方法。

2024-11-07 00:17:47 1376

原创 stm32f103c8t6hal库使用看门狗

STM32F103C8T6是一款性能强大的微控制器,它具有丰富的外设和功能,其中之一就是看门狗(Watchdog)。看门狗是一种重要的硬件设备,它可以在系统出现异常时自动重启系统,以保证系统的稳定运行。我们将详细介绍如何在STM32F103C8T6上使用HAL库来配置和使用看门狗。看门狗是一种定时器,它会在预设的时间内计数。如果在这个时间内没有被主程序“喂狗”(即重置计数器),那么看门狗就会触发系统复位。这样,如果主程序由于某种原因(如死循环)无法正常运行,看门狗就会自动重启系统,防止系统长时间处于异常状

2024-04-14 20:59:28 1169

原创 ThreadX:怎么确定一个线程应该开多少内存

在实时操作系统(RTOS)ThreadX中,线程的大小是一个重要的参数。这个参数决定了线程的堆栈大小,也就是线程可以使用的内存空间。那么,我们应该如何确定一个线程需要多大的字节呢?

2024-04-13 13:27:00 1328 1

原创 在ThreadX中如何使用信号量详解

信号量是一种常用的线程间同步和资源管理的机制,它可以用来表示信号对象或资源的数量。在ThreadX中,信号量是一个32位的计数值,它可以通过函数tx_semaphore_create创建,并指定一个初始值。信号量的值可以通过函数tx_semaphore_get和tx_semaphore_put来增加或减少,从而实现线程间的协调和通信。信号量还有一些高级的功能,如信号量的任务通知,信号量的扩展功能,信号量的性能分析等,用来满足更多的需求。

2024-02-01 16:21:36 1262

原创 ThreadX_note:创建线程

ThreadX 是一款实时操作系统 (RTOS),它提供了一套全面的 API,可以用于创建和管理线程。

2024-02-01 14:41:33 927

原创 ThreadX手动移植到stm32f103c8t6_hal库

ThreadX是由Express Logic公司开发的一款实时操作系统(RTOS),2019年被微软收购,成为了微软的一款Azure RTOS。ThreadX是专门为深度嵌入式,实时应用和IoT应用而设计。点击获取模板 密码:6666大家有什么问题可以留言,我会尽力帮助大家解决。

2024-01-22 16:12:25 1658 5

原创 硬件iic和软件iic的区别

IIC,也被称为I²C或者I2C,全称为Inter-Integrated Circuit,是一种串行通信协议。这种协议由Philips Semiconductor(现在的NXP Semiconductors)在1980年代早期为了在主板、电视以及其他设备中使得芯片能够进行通信而开发的。

2024-01-15 15:49:43 1570

原创 嘉立创免费领券打样--领券流程及地址

【代码】嘉立创免费领券打样--领券流程及地址。

2023-12-30 19:46:38 21262

原创 CRC-16 Modbus校验含代码

CRC-16 Modbus校验是一种用于检测数据传输错误的算法。它是CRC(循环冗余校验)的一种变体,特别适用于Modbus协议。CRC-16 Modbus校验可以提供一种有效的方式来保护数据的完整性,确保在数据传输过程中没有发生错误。

2023-11-08 23:05:55 1043

原创 单链表demo(C语言)

单链表是一种线性数据结构,其中每个元素都是一个独立的对象,每个元素(我们称之为节点)都有一个指向下一个节点的引用。

2023-10-20 19:38:35 142

原创 大小端问题以及转换——C语言

联合体是一种特殊的数据结构,它允许在相同的内存位置存储不同的数据类型。我们可以利用这个特性来读取或写入数据的不同字节,从而实现端序的转换。如果你需要转换其他类型的数据,你可能需要修改这个函数。的是,这种方法依赖于具体的硬件和编译器实现,并且可能不适用于所有情况。这个函数可以用于任意大小的数据,只要你能提供一个指向数据的指针和数据的长度。以下是一个函数,它接受一个字节数组和数组的长度,然后在。是1,那么我们知道系统是小端序,因为最低有效字节被存储在最低的地址。这个函数首先接受一个指向数据的指针和数据的长度。

2023-10-18 19:55:15 1439

原创 C语言结构体--->位域

C语言中的位域是一种特殊的数据结构,它允许我们在一个字节内存中存储多个不同的值。这种特性使得位域在嵌入式系统和硬件接口编程中非常有用,因为它们通常需要对硬件的特定位进行精确控制。

2023-10-18 19:41:23 307

原创 C语言printf输出不了,缓冲区问题---------->C语言printf缓冲区详解

在C语言中,printf函数是我们常用的输出函数,但是你知道它背后的缓冲区机制吗?本文将详细介绍printf函数的缓冲区。

2023-10-14 13:45:40 961

原创 字符串中指定位置插入字符串---->C语言实现(代码块)

【代码】字符串中指定位置插入字符串---->C语言实现(代码块)

2023-10-13 15:10:49 3318

原创 C语言实现队列

data:一个数组,用来存储队列中的元素。front:一个整数,表示队头元素的下标。rear:一个整数,表示队尾元素的下标。maxsize:一个整数,表示队列的最大容量。// 队列的结构体定义int *data;// 队列元素数组int front;// 队头下标int rear;// 队尾下标// 队列最大容量} Queue;

2023-09-25 18:33:35 555

原创 KICAD一按键盘就卡死6.X 7.X 版本都是一样~

开启微软输入法兼容性设置

2023-09-22 10:24:23 737

原创 C语言使用cjson解析json数据

在现代开发中,JSON已经成为了一种非常流行的数据格式。C语言是一种非常古老的编程语言,但是在某些场合下,仍然需要使用C语言来进行开发。那么,在C语言中如何使用cjson来解析JSON数据呢?本文将会为大家进行详细介绍。什么是cjsoncjson是一个轻量级的JSON解析器,它的代码量非常少,但是功能却非常强大。cjson的特点是速度快、占用内存小,非常适合在嵌入式设备上使用。cjson的安装。

2023-09-20 13:33:49 1808

转载 ubuntu 22.04国内镜像阿里云/163源/清华大学/中科大

【代码】ubuntu 22.04国内镜像阿里云/163源/清华大学/中科大。

2023-09-11 13:18:20 2642

原创 智能家居必不可少的通信协议ZigBee(概念:什么是zigbee)

低功耗:Zigbee协议采用了睡眠模式和广播机制,使得设备在不工作时可以进入低功耗状态,从而延长电池寿命。高可靠性:Zigbee协议采用了自组织网络结构,当一个节点失效时,其他节点可以自动接管其任务,从而保证整个网络的稳定性和可靠性。网络规模大:Zigbee协议支持最多65535个节点,可以满足大规模网络的需求。低成本:Zigbee协议采用了低成本的硬件和简单的协议,使得其成本较低。易于部署:Zigbee协议支持自组织网络结构,节点可以自动加入或退出网络,无需手动配置。

2023-08-27 20:13:44 773

原创 双向链表(C语言实现)

【代码】双向链表(C语言实现)

2023-08-26 02:44:09 196

原创 记录:clion上开发stm32 环境配置(保姆级详细教程)----->2023_7_1

用了半年stm32cubeide 用不习惯,最后还是换成了程序员都爱的clion

2023-06-30 12:26:32 8710 4

原创 stm32实现SBUS传输

用dma空闲中断接收sbus数据

2023-05-25 10:49:23 1393 2

原创 kicad导出Gerber文件到嘉立创打板……

kicad导出Gerber文件到嘉立创打板流程

2023-04-02 17:18:31 7723

原创 cannot find -lGL: No such file or directory ---->Qt in Ubuntu

Ubentu系统安装qt-creator少了一个依赖,

2023-01-17 12:39:59 945

各种类型的PID控制算法详解

PID控制应该算是应用非常广泛的控制算法了。小到控制一个元件的温度,大到控制无人机的飞行姿态和飞行速度等等,都可以使用PID控制。这里我们从原理上来理解PID控制。并且由C语言代码来实现

2023-10-19

USB4扩展坞主控芯片VL830原理图

VL830是一款由德州仪器(Texas Instruments)推出的USB4扩展坞主控芯片,具有高度集成、低功耗和高性能等特点。它支持多种接口,包括USB4、Thunderbolt 4、USB 3.2和DisplayPort等,并且可以同时支持多个显示器输出。此外,VL830还支持USB Power Delivery(USB PD)3.0协议,可以为连接的设备提供高达100W的功率输出。总体来说,VL830是一款性能出色的USB4扩展坞主控芯片,适用于各种需要高速数据传输和多接口输出的场景。

2023-10-13

空空如也

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

TA关注的人

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