自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 CT117E-M4 串口通信

本文介绍了基于STM32G431RBT6与DAP Link调试器的串口通信实现过程,主要用于接收串口数据并在LCD界面上显示。首先,通过CubeMX将PA10配置为USART1_RX、PA9配置为USART1_TX,并设置串口为异步通信、波特率为9600bps,同时启用中断。随后,在中断回调函数 HAL_UART_RxCpltCallback 中实现逐字节接收,并在 UART_proc() 函数中检测数据接收是否完成。若数据长度为22字节,则用 sscanf 解析成车类型、车牌号和时间信息;若长度错误,则通

2025-03-25 21:29:59 691

原创 CT117E-M4 IIC通信-EEPROM读写

1.原理图 2.CubeMX配置 3.代码编写 3.1 向EEPROM写入数据 3.2  从EEPROM读取数据 4.测试

2025-03-25 17:24:35 625

原创 CT117E-M4 模数转换ADC测量

上篇内容为,本篇笔记记录模数转换ADC。整个系列每篇笔记中的CubeMX配置、MDK-ARM配置以及代码编写,均在前一篇笔记的基础上进行,功能有关联代码会进行微调。

2025-03-25 14:44:16 310

原创 CT117E-M4 PWM信号输出

1.PWM信号输出 1.1 CubeMX配置 1.2 代码编写 2.PWM频率测量 2.1 CubeMX配置 2.2 代码编写 3.占空比测量

2025-03-25 12:48:35 1022

原创 CT117E-M4 按键短按长按

上篇内容为,本篇内容实现按键短按长按。整个系列每篇笔记中的CubeMX配置、MDK-ARM配置以及代码编写,均在前一篇笔记的基础上进行,功能有关联代码会进行微调。

2025-03-15 16:09:34 699

原创 CT117E-M4 LCD屏显示

上篇内容为LED显示,本篇内容实现LCD屏显示。整个系列每篇笔记中的CubeMX配置、MDK-ARM配置以及代码编写,均在前一篇笔记的基础上进行,功能有关联代码会进行微调。

2025-03-14 20:59:33 212

原创 CT117E-M4 LED点亮

上篇内容为CubeMX与MDK-ARM基础配置,本篇内容实现LED点亮。

2025-03-11 13:32:28 991

原创 CT117E-M4 CubeMX与Keil5 MDK-ARM基础配置

1.CubeMX构建项目 2.芯片时钟配置2.1 芯片引脚配置 2.2 时钟树配置 3.调试接口配置 4.项目管理器Project Manager配置4.1 project4.2 Code Generator 5. 生成代码 6.MDK_ARM配置 6.1 编译器选择​ 6.2  调试器配置 7. 创建本地代码文件夹 8. #include 路径设置

2025-03-10 21:13:01 976

原创 面向对象考试

一、面向对象二、三大特性三、类间关系1.继承(泛化)2.实现3.依赖4.关联5.聚合6.组合四、设计原则(1)单一职责原则(SRP)(2)开放-封闭原则(OCP)3. 里氏替换原则(LS)五、面向对象分析设计

2024-11-21 11:07:10 1116

原创 TCP/IP网络体系结构总结整理

物理层、数据链路层、将IP数据报封装成帧或拆帧、IP地址解析为MAC地址、完成相邻机器间的寻址与数据传输、差错控制、介质访问控制、网络层、对传输层传递的数据报进行分组的组装与拆分、路由选择、路由转发、拥塞控制、传输层、解决进程在主机中通信地址标识的问题、UDP、TCP、连接实质、面向字节流的通信、差错控制、流量控制、连接管理

2023-05-19 19:40:50 2209

原创 C/C++函数调用时参数传递过程、调用约定与可变参函数的实现

参数传递过程、参数压栈顺序从右至左的影响、调用约定、__cdecl C/C++ 缺省调用方式、 __stdcall 、 __fastcall (快速调用约定,通过寄存器来传送参数)、C++的函数名修饰方式、thiscall 本身调用、C语言可变参函数的实现、可变参函数需要使用__cdecl调用约定的原因

2023-05-14 15:10:50 2094

原创 在x86-64系统上的函数调用过程(参考)

传递控制权、传递数据、分配和释放内存、运行时栈的动作与转移控制、数据传送、参数传递、需要使用栈传递参数的情况、函数返回值传递

2023-05-12 19:45:37 1255 1

原创 Linux进程通信之消息队列

Linux进程通信、消息队列、消息队列与管道的区别、函数接口:msgget创建消息队列、msgsnd将消息添加到消息队列、msgrcv从消息队列中读取一条消息、msgclt控制消息队列

2023-04-02 20:50:39 892

原创 Linux进程通信之共享内存

共享内存、共享内存接口函数、sys/shm.h、shmget、shmat、shmdt、shmctl、信号量控制访问同步

2023-04-01 00:38:48 288

原创 C++类型推导 auto、decltype

类型推导、auto占位符、auto推导的要求、当定义为指针或引用时,auto的推导结果将保持初始化表达式的cv属性(const,volatile)、auto作为函数的形参类型、decltype

2023-03-26 22:54:21 554

原创 Linux进程通信之信号量 控制进程同步

信号量、信号量接口函数、semget函数、semctl函数、semop函数、ipcs 可以查看消息队列、共享内存、信号量的使用情况,使用 ipcrm 可以进行删除操作。

2023-03-26 01:15:44 947

原创 Linux信号的使用

信号、常见信号值、修改对信号的响应方式、signal()、kill()、实现kill命令

2023-03-25 19:57:10 481

原创 C++ 名字空间(namespace)

作用域、全局域、局部域、块域、类域、名字空间域、::作用域解析符、名字空间::变量名/函数名、using namespace

2023-03-21 16:41:12 145

转载 new与malloc的10点区别

new与malloc的10点区别:1. 申请的内存所在位置、2.返回类型安全性、3.内存分配失败时的返回值、4.是否需要指定内存大小、5.是否调用构造函数/析构函数、6.对数组的处理、7.new与malloc是否可以相互调用、8.是否可以被重载、9. 能够直观地重新分配内存、10. 客户处理内存分配不足

2023-02-14 12:39:39 2312

原创 C++ 缺省参数、函数重载、名字粉碎与调用约定

缺省参数、定义 、函数调用、缺省参数值的得到方法(表达式、函数调用等)、缺省参数可以有多个、缺省参数不能重复指定值、函数重载、函数重载的概念、函数重载解析的步骤、函数重载与缺省参数、函数重载与const、指针、引用相结合、、名字粉碎(名字修饰)与调用约定、_stdcall调用约定、_cdecl调用约定、_fastcall调用约定、C++编译时函数名修饰约定规则、C++可以函数重载,而C语言不能重载的原因、extern关键字

2023-02-11 20:35:14 346

原创 C++ inline函数

inline内联函数、函数调用时系统的动作、inline与宏定义的区别、inline不建议函数声明与定义分离

2023-02-11 13:01:43 151

原创 C++ 引用&(左值引用)

引用的定义、引用的特点、引用作为形参代替指针、const与引用、const int&、int& const、&与数组、&与指针、引用与指针的差别、不可以对函数中的局部变量或对象以引用、指针的方式返回、&实质:int &p = a; int *const p = a、分析效率 函数形参:变量、指针、引用

2023-02-08 00:13:10 668

原创 C++同一初始化、输入输出、const

C++统一初始化、int a{10}、输入输出、cin、cout、>>、

2023-02-03 22:30:54 388

原创 进程通信之管道通信

进程通信、管道通信、半双工、mkfifo、FIFO、有名管道、无名管道

2022-12-29 17:07:15 1331

原创 进程替换exec系列函数

进程替换,不是创建一个新进程,而是并且,进程替换是与进程复制配合进行的。在进程复制时,我们根据fork()的返回值对父子进程进行区分,使其进行不同操作。在使用进程替换后,我们就可以使新进程更加直接的执行我们想要做的操作。进程复制时,父子进程代码相同,父子进程要进行的操作在同一份代码中,根据逻辑判断才进行区分。对于父进程来说,子进程要执行操作的代码就是冗余的。使用进程替换,我们就可以将想要执行的新操作封装在一个新程序中,在原进程中只用调用进程替换函数,替换为新进程执行就可以了。

2022-12-29 09:30:00 507

原创 Linux进程复制与僵尸进程、孤儿进程

进程控制块PCB、进程拷贝、fork()、父子进程、pid、getpid()、僵尸进程、wait()、孤儿进程

2022-12-28 19:28:50 420

原创 Linux系统上库文件的生成与使用(静态库和动态库)

库文件、静态库、动态库、静态库文件后缀、动态库文件后缀、静态库生成、静态库使用、动态库生成、动态库使用、静态库与动态库的区别、查看可执行程序依赖的动态库信息

2022-11-09 23:47:25 2569

原创 Linux系统上C语言程序编写与调试

可执行文件、C程序编译链接的过程、预处理、编译、汇编、链接、gcc编译器安装、gcc编译器使用、gcc一步编译、执行可执行程序的方法、make命令使用、make命令安装、makefile文件编写、gdb调试器安装、gdb调试C程序

2022-11-08 19:00:51 9705

原创 Linux文件压缩与解压

tar、gzip、tar cfv 打包文件、-f 参数存在的原因、tar xf解包、gzip压缩文件、gzip -d解压压缩包、tar -zcfv 一步压缩、tar -zxfv 一步解压

2022-11-07 10:18:56 3514

原创 Linux实现查看文件内容的多种方式

more 分屏显示文件内容、more 按页显示文件内容、less文件内容查看器、head -n显示文件前n行内容、tail -n显示文件后n行内容、tail -f 实时查看文件内容

2022-11-06 16:24:28 13940

原创 Linux常用命令补充

Tab快捷键、man查看帮助手册、cp文件拷贝、拷贝同时重命名、mv移动(剪切)文件、cat、cat 显示文件内容到终端、cat > 重定向、cat 合并文件、cat >> 追加写入文件数据、wc统计文件内容数据、wc -l 统计文件内容行数、wc -w 统计文件内容单词个数、wc -c 统计文件内容字符个数、shutdown关机与重启、立即关机重启、指定时刻关机重启、倒计时关机重启

2022-11-06 14:10:06 1959

原创 文件编辑(vi/vim)

文件编辑、命令模式、命令模式相关命令、删除、拷贝、撤销、恢复、光标跳转、编辑模式、编辑模式相关命令、末行模式、文件中字符串批量替换、保存文件、文件另存、从光标位置出发查找字符串、vim配置使显示行号

2022-10-22 16:36:06 11457 1

原创 数据结构之链表(C语言)

线性表之单链表、链表、链式存储结构、动态内存开辟结点、头结点、链表结构体设计、链表初始化、链表头插函数、链表尾插函数、链表按位置插入函数、链表判满、链表头删函数、链表尾删函数、链表按位置删函数、链表遍历的方法、链表遍历两种格式、单向循环链表

2022-10-21 20:21:06 783

原创 Linux常用命令1

Linux常用命令、切换路径cd、显示当前位置路径pwd、创建目录文件mkdir、创建普通文件touch、查看非隐藏文件ls、查看文件详细信息ls -l、查看文件节点号ls -i、查看目录下所有文件ls -a、. 本目录、.. 上一级目录、文件权限解读、修改文件权限chmod、清屏clear

2022-10-19 18:09:05 2852 3

原创 Linux初识

Linux、学习Linux的原因、Linux与Windows的区别、终端、Linux终端打开方式、Linux目录结构、绝对路径与相对路径、Linux文件类型

2022-10-15 21:19:40 486

原创 数据结构之顺序表(C语言)

线性表、顺序表、线性表存储结构、顺序表初始化、顺序表数据插入、顺序表数据删除、按位插入、按位删除、顺序表的使用场景、适合场景、不适合场景

2022-10-14 22:38:53 3030

原创 C语言 文件、文件操作、文件相关函数

文件、文件操作、文件相关函数、绝对路径、相对路径、缓存、缓冲区、fopen、fwrite、fread、fclose、文件拷贝、歌曲拷贝、getc、putc、getchar、putchar、fscanf、fprintf

2022-10-06 18:18:02 1377

原创 LeetCode(力扣)初级算法 字符串篇

LeetCode、力扣、字符串、初级算法、反转字符串、整数反转、字符串中的第一个唯一字符、有效的字母异位词、验证回文字符串、字符串转换整数(atoi)、atoi()、外观数列、最长公共前缀、C语言、力扣刷题......

2022-08-26 13:59:09 1635

原创 LeetCode(力扣)初级算法 数组篇

LeetCode(力扣)初级算法 数组篇、删除排序数组中的重复项、买卖股票的最佳时机 II、旋转数组、存在重复元素、只出现一次的数字、两个数组的交集 II、加一、移动零、两数之和、有效的数独、旋转图像、旋转矩阵、双指针法

2022-08-22 20:45:27 1320 2

原创 C语言项目-ATM自助取款机(无图形化界面)

本次C语言项目目标为通过C语言模拟实现自助取款机功能,无图形化界面。通过打印选项与提示,用户通过键盘输入,实现人机交互。人物角色分为两类:管理员与用户。管理员先进行注册,完成后登录,根据用户信息进行卡的注册、挂失、激活和注销等操作;用户通过卡号和密码登录账号,进行存款、取款、转账等操作。通过此次项目实现(因为项目太小,还是说实现吧,谦逊一点),主要将以下几部分的知识进行了由知到行的实践:1、分文件开发,include""与include的作用与区别。...

2022-08-17 21:28:40 5411

空空如也

空空如也

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

TA关注的人

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