- 博客(48)
- 收藏
- 关注
原创 单片机--usart总线
1.1串行通信指的是通信双方发数据时,是一位一位的收发数据的,一般使用一根数据线进行通信1.2并行通信指的是通信双方首发数据时,是多位多位收发数据的,一般使用多根数据线进行通信。
2025-09-25 19:31:33
1125
原创 单片机--概述
HAL_GPIO_ReadPin函数功能:HAL库提供的用于读取GPIO引脚电平状态的函数参数:GPIOx:需要读取的GPIO引脚的所属组(如GPIOC、GPIOD、GPIOA......),也就是需要读取的引脚的GPIO组的基地址。GPIO_Pin:需要读取的GPIO引脚的引脚编号(如GPIO_PIN_1、GPIO_PIN_2.....)、也就是需要读取的引脚的对应寄存器位。返回值:返回值为读取到对应引脚的高低电平信号(逻辑上的0/1)读到高电平信号,返回值为1。
2025-09-25 19:28:50
773
原创 单片机 -- USART总线
*************************硬件初始化*****************************//*************************RCC初始化*****************************/// 使能GPIOA组外设控制器时钟// 使能USART1组外设控制器时钟/*************************GPIO初始化*****************************/
2025-09-25 16:17:30
1034
原创 单片机 - day1 - 环境搭建
查看原理图,找到U5控制资源拓展板上的LD1引脚流程: 硬件连接: 资源拓展板 ------> 底板 --------> 核心板 --------> STM32U575RIT6芯片查找:资源拓展板上外设LD1 ------ LED1引脚资源拓展板上接插件J1上第4号引脚 ------ LED1引脚底板上接插件J6上第4号引脚 ------- LED1引脚底板上接插件J2上第15号引脚 ------- LED1引脚底板上的J1连接核心板上的J2,底板上的J2连接核心板上的J3。
2025-09-25 15:43:09
408
原创 单片机--中断实验
举例:cortex-M核的工作模式:异常模式、线程模式cortex-A核的工作模式ARM-V7架构设计的A核的工作模式:非特权模式:user模式特权模式:非异常模式:sys模式异常模式:IRQ(普通异常中断模式)、FIQ(快速中断异常模式)、SVC(超级管理异常模式)、ABT(终止访问模式)、UDF(未定义模式)ARM-V8架构设计的A核的工作模式:MON(安全监管模式)HYP(虚拟化技术模式)
2025-09-19 19:21:05
306
原创 c++:模板的应用
请使用函数模板,写一个能够针对所有数据类型的数据的快速排序,展示快排过程,并多写几个数组做测试。请使用函数模板,写一个能够针对所有数据类型的数据的快速排序函数,并多写几个数组做测试。
2025-07-31 20:02:34
233
原创 c++:设计模式训练
注意:测试的时候,英雄在更换武器的时候,记得使用策略模式,将英雄之间装备的武器属性扣除后,再增加新属性。打败怪物掉落什么武器,自己设计,但是要求怪物掉落武器是一个简单工厂模式。鸟笼初始化的时候,4个不同的鸟类,至少有一个对象在鸟笼里面。有一个英雄类,拥有私有成员: hp ,atk,dep。英雄装备不同的武器,使用策略模式去实现。写一个企鹅类,继承自鸟类:重写 run。写一个鸵鸟类,继承自鸟类,重写 run。写一个老鹰类,继承自鸟类,重写run。写一个鸟笼,能够存放 不同的鸟类对象。鸟笼是什么类型的自己想。
2025-07-31 08:40:44
304
原创 c++:多态训练
2:写一个员工类 Employee,有一个多态函数叫做 getSalary 有一个 Cleanner 保洁类,继承自员工类:每个月获得 5000 工资 有一个 Coder 程序员类,继承自员工类,每个月获得 10000工资 有一个 Manger 经理类,继承自员工类,每个月获得 15000工资 写一个发工资的函数,要求,能够为所有员工发放工资,即使追加新的岗位,也不会改变这个函数的逻辑。// 终端输出 "黄色"
2025-07-31 08:33:17
324
原创 c++--面向对象封装--实践
单参构造函数:参数为 const char*,支持隐式类型转换(如 mystring str = "hello";列表初始化:len(strlen(s)) 在对象构造前初始化 len,比在函数体中赋值更高效。// 输出:你好world你好。计算新长度 len + other.len(或 len + strlen(s))。// 复制 "world"str.append(ptr);// 追加 "world"str.copy("你好");// 复制 "你好"str.append("你好");// 追加 "你好"
2025-07-23 21:19:43
1262
原创 网络编程--数据库实操
套接字角色区分server(监听套接字) vsclient(与客户端通信的套接字)client(主动发起连接的套接字)数据流向客户端→ 服务器服务器→ 客户端TCP 连接流程服务器:socket() → bind() → listen() → accept() → read()/write()客户端:socket() → connect() → write()/read()没有看到宏定义,是可以直接使用的的宏吗?,为什么需要使用?和__NFDBITS是哪里定义的?这些是。
2025-07-18 00:55:01
1168
原创 多客户端 - 服务器结构-实操
实现2个客户端之间互相聊天要求:1、服务器使用 select 模型实现接受多个客户端连接,以及转发消息2、客户端要求:使用 poll 模型解决 技能够 read 读取服务器发来的消息,又能够scanf读取键盘输入的信息3、客户端服务器不允许开启额外线程和进程。
2025-07-14 20:59:46
903
原创 io-函数实操
1将当前的时间写入到time. txt的文件中,如果ctrl+c退出之后,在再次执行支持断点续写。//按下ctrl+c停止,再次执行程序。2.使用文件IO函数实现图片的拷贝。
2025-07-01 22:14:00
421
原创 io进程和线程
2.通过argc和argv输入文件名和路径,请实现文件的拷贝。3.通过argc和argv输入文件名和路径,请计算文件的行数。1.读取文件,效果类似cat的功能。
2025-06-30 23:41:55
1034
原创 c语言--链表应用:通信录管理
意义:对于一个通信录来说,要管理联系人的信息,包括编号,姓名,性别,电话。1>注册模块:完成用户信息的注册用于登录管理系统,将注册信息存入结构体数组。4>修改信息update:可以修改联系人信息并保存,修改联系人信息有。6>插入信息insert:将给定的信息以及插入位置信息完成插入。1>创建模块create:创建链表完成对通信录的存储。方案一:通信录: 每个用户使用独立的链表存联系人信息。7>展示信息show:将通讯录的所有信息进行展示。方案二:通信录:全部用户,共用同一个联系人链表。
2025-06-25 15:02:41
523
原创 数据结构--单向链表
c.头插、尾插、任意位置插入。d.头删、尾删、任意位置删除。a.特点:尾结点指向头结点。2.按值修改(多个一样的值改第一个)1.按位置查找返回元素的值。4.尝试实现单向循环链表。
2025-06-17 00:54:26
628
原创 c语言基础/数据结构--------学生管理系统
3.2 学生功能: 实现对学生信息基本信息的录入,其中名次根据成绩自动计算(添加). 学号不能重复 删除学生信息 修改学生信息 查找学生信息根据学号查找 根据姓名查找 根据班级群体查找,把属于这个班的学生全部显示 显示所有学生信息列表 按学号顺序显示 按名次显示 按某学科(可选)成绩顺序显示,并在最后显示出此科平均分 退出系统。学生和老师都可登录 用户名和密码正确登录成功,显示欢迎界面:“欢迎XX同学(老师)登录”显示操作界面 如果输入用户名和密码错误连续提示,超过3次自动退出。main.c主函数文件。
2025-06-14 17:30:37
251
原创 c语言-指针训练
指针一.选择题1.变量的指针,其含义是指该变量的b。A)值 B)地址 C)名 D)一个标志2.已有定义int k=2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是a b。3.若有说明:int *p,m=5,n;以下程序段正确的是a。A)p=&n;B)p = &n;D)p = &n;*p=n;野指针 *p = m;
2025-06-07 14:03:49
890
原创 c语言-数组实践
例:"ab12cd405@#" --->12405。‘1’ ---》1 字符-48。输入一个字符串,把字符串中的字符组成一个整数。2.以空格为间隔,单词逆置。sum=sum*10+数。输入一个字符串,实现单词逆置。
2025-06-03 21:02:33
696
原创 C语言-数组相关实践
int flag=0;for(i=0;i<=4;i++)printf("请输入数组中第%d个整数: ",i+1);for(i=0;i<=4;i++)printf("请输入一个整数: ");printf("key在数组中\n");flag=1;break;printf("key不在数组中\n");return 0;5.定义一个数组并输入,计算数组的最大值int flag=0;for(i=0;i<=4;i++)printf("请输入数组中第%d个整数: ",i+1);
2025-06-02 03:10:37
1732
原创 C语言基础实训
b的补码10001110,a的原反补相同,00010100,a+b的补码的原码:0101 1110,为94>20。方案:如果是多余的,直接删掉;如果是需要使用的,补充代码。未声明,可能存在未定义变量的问题。被声明,有定义,但从未使用。查找系统中正在运行的。条件成立,输出>20。
2025-05-29 20:47:13
348
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1