- 博客(51)
- 收藏
- 关注
原创 单片机-ADC和DMA
模数转换器作用:将模拟信号转化为数字信号模拟信号:连续周期变化的电信号数字信号:离散的以1/0组成的电信号ADC的应用场景:一般用于电路中的电流/电压检测、也使用在各种传感器采集数据后进行传输(温湿度传感器)的转换过程本质是通过四个关键步骤,将模拟信号就绪→通道采样并保持信号→量化为离散等级→编码为二进制代码→写入数据寄存器→用户读取数字信号”。
2025-09-23 20:51:06
843
1
原创 单片机-中断实验
名称:外部中断和事件控制器内容:输入事件=外部设备触发了一个信号,被你的单片机识别到了PC9KEY1---------->GPIO--------->EXTI---------->CPU(M33内核)中的---->NVIC。
2025-09-19 21:01:15
962
原创 TIM定时器
组成:由16位或32位自动重载计数器和可编程分频器构成,分频后的始终驱动计数器功能:可用于测量输入信号脉宽(输入捕获)、生成输出波形(输出比较和PWM),脉宽和波形周期可在微妙到毫秒级调制。独立性:各定时器相互独立,不共享资源,还可按相关章节实现同步。每个定时器都支持四个独立通道(CH1,CH2,CH3,CH4),每个通道都支持以下4功能有输入捕获功能、输出比较功能、PWM方波生成功能、单脉冲输出功能。定时器的基本单元:计数寄存器分频寄存器自动重在寄存器。
2025-09-17 21:03:40
949
1
原创 单片机-SPI总线
SPI总线是摩托罗拉公司设计的一款串行、同步、全双工总线SPI总线是三线制/四线制总线分别为SPI_SCK(时钟线)、SPI_NSS/NCS(片选线SPI总线的通信速率一般能达到MbpsSPI总线的应用场景:数码管(中控屏)、LCD屏.....SPI总线支持主从机模式,支持多。
2025-09-13 15:21:25
773
原创 单片机-IIC(I2C总线)
SHT20/SI7006-------------------------------------------->STM32U575RIT6----------->pc端的串口工具。注释:1、首先起始信号(下降沿信号),7位从机地址是为了寻找目标从机的,w(0)为写入数据(因为IIC总线的最小传输单位是8位,加上W(0)就满足条件了)注释:1、首先起始信号(下降沿信号),7位从机地址是为了寻找目标从机的,w(0)为写入数据(因为IIC总线的最小传输单位是8位,加上W(0)就满足条件了)
2025-09-11 21:57:47
1216
原创 day2-usart总线
(例如:硬件的时钟频率是115200,而电脑的是2400这样他们的时钟频率不同就会出现乱码和截断的现象)如果想通过修改电脑中的UART的时钟频率我们暂时做不到,所以更改通信双方的时钟频率为一致的方法是行不通的,我们只能通过UART总线通信的双方,硬件会计算实际数据中1的个数,如果1的个数为偶数,使用的偶校验位会自动补0,如果1的个数为奇数,使用的偶校验位自动补1.RS232总线的电平范围:-3v~-15v(逻辑上的1),3v~15v(逻辑上的0)--------RS232电平为负逻辑电平。
2025-09-09 20:59:35
686
原创 day1环境的搭建
硬件连接: 资源拓展板 ------> 底板 --------> 核心板 --------> STM32U575RIT6芯片。底板上主控芯片STM32U575RIT6上第24号引脚 ------- PC4引脚。资源拓展板上接插件J1上第4号引脚 ------ LED1引脚。底板上接插件J2上第15号引脚 ------- LED1引脚。核心板上接插件J3上第15号引脚 ------- PC4引脚。底板上接插件J6上第4号引脚 ------- LED1引脚。资源拓展板上外设LD1 ------ LED1引脚。
2025-09-08 21:48:56
228
原创 GPIO标准库开发
电路的悬空状态(高组态):当前电路的阻止无限大,并不清楚当前电路处于高电平还是低电平状态上拉电阻就是一个电阻被接在了连接电源的位置悬空状态的电路,存在不清楚是高电平还是低电平状态的影响,当外接一个上拉电阻后,可以稳定当前电路处于高电平状态,用于保护电路。
2025-09-03 08:55:26
902
原创 基础的汇编指令
| | | | |----------------->第二操作数(相当于右操作数)r5= r1- r3- C位(注:无论是进位还是借位的c位都是0x1)| | | | |------------------第一操作寄存器(相当于左操作数)r5=r1-r3-c位=0x5-0x1-0x1=0x3。
2025-08-30 15:05:37
621
原创 ARM相关的基础概念和寄存器
目录1、机器码2、汇编指令3、汇编指令集4、架构5、内核(CPU中的核心)6、处理器7、复杂指令集和精简指令集 7.1复杂指令集7.2精简指令集7.3修改8、内核中的寄存器阻值 8.1溜达存储类型8.2、AMR处理器(内核)的工作模式 8.2.1Cortex-M核的工作模式 8.2.2Cortex-A核的工作模式8.3寄存器组织编辑9、特殊功能寄存器 9.1R13寄存器(SP寄存器)
2025-08-28 22:11:27
1021
原创 7/15作业
"="操作符是从右向左结合的,首先执行a="china",这是非法的,因为数组名a是常量,不能作为赋值操作的左值。需要注意的是,不管函数被调用多少次,函数定义中的参数个数是固定的,这里就是3个。这里需要注意的是,当p指向二维数组时,可以用p[i][j]的形式来访问数组元素,这种形式更直观且等价于使用指针的解引用操作*(*(p+i)+j)。1. 程序定义了一个字符串数组s,包含6个字符串常量:"ABCD"、"EFGH"、"IJKL"、"MNOP"、"QRST"、"UVWX"
2025-07-15 20:37:11
949
原创 7/14作业
客户端要求:使用 poll 模型解决 技能够 read 读取服务器发来的消息,又能够scanf读取键盘输入的信息。要求:服务器使用 select 模型实现接受多个客户端连接,以及转发消息。客户端服务器不允许开启额外线程和进程。实现2个客户端之间互相聊天。
2025-07-14 21:20:55
398
原创 7/12作业
2:使用服务器和客户端的代码,实现服务器和客户端的互相聊天功能 同桌之间互相聊天。1:熟悉每一条代码的具体含义 最好配上逻辑题 做一个思维导图。
2025-07-14 09:01:13
444
原创 7/7消息队列
"="操作符是从右向左结合的,首先执行a="china",这是非法的,因为数组名a是常量,不能作为赋值操作的左值。A选项正确,文件指针确实是FILE类型的指针变量,它指向一个包含文件信息的结构体,这个结构体记录了文件的各种信息,如文件名、访问模式、缓冲区等。A选项中Value operator-(Value, Value)的写法是错误的,因为作为类的成员函数进行运算符重载时,只能有一个参数。需要注意的是,不管函数被调用多少次,函数定义中的参数个数是固定的,这里就是3个。所以D选项是错误的。
2025-07-07 21:04:34
1128
原创 7/5作业
C选项是不正确的,因为在链式存储结构中,各个结点的物理存储位置是随机的,只能通过指针或引用找到下一个结点,而不能像顺序存储那样通过计算直接获取第i个结点的存储地址。在DFS中,我们需要沿着一条路径一直走到底,然后回溯到最近的还未探索的节点继续搜索,这种"后进先出"的特性正是栈所擅长的。对于广义表((a,b),(c,d)),其第一个元素是(a,b),去掉后剩余元素为(c,d)。线性表的链式存储结构是一种动态存储方式,其节点在内存中的地址可以是连续的,也可以是不连续的,这取决于系统分配内存的具体情况。
2025-07-05 16:17:47
930
原创 7/3作业
解析:info1 from child process_1没有sleep直接输出又因为根据sleep先执行sleep(1)然而sleep(1)后面的那个没有\n在后面的那一句——exit(0)他没有刷新缓冲区的功能所以sleep(1)后面那句不会输出然后执行sleep(4)因为他又fflush(stderprintf默认输出到标准输出流。2.创建一个分支线程,在主线程中拷贝文件的前一部分,主线程拷贝文件的后一部分。答案:输出info1 from child process_1。答案:i=1 2。
2025-07-03 21:22:13
651
原创 7/1作业
1将当前的时间写入到time. txt的文件中,如果ctrl+c退出之后,在再次执行支持断点续写。3.使用文件IO读取图片 文件大小、文件偏移量,宽度,高度,//按下ctrl+c停止,再次执行程序。2.使用文件IO函数实现图片的拷贝。
2025-07-01 21:27:16
535
原创 6/30作业
3.通过argc和argv输入文件名和路径,请实现文件的格式。4.通过argc和argv输入文件名和路径,请计算文件的总数。2.读取文件,效果类似cat的功能。1.思想导图(必须做)
2025-06-30 21:07:07
517
原创 基于链表的通讯录管理的大作业
本通讯录管理系统是一个基于 C 语言开发的控制台应用程序,具备用户注册、登录功能,登录成功后可对通讯录进行创建、添加数据、查找、修改、删除、插入信息、展示、排序、性别统计、初始化等操作。4>修改信息update:可以修改联系人信息并保存,修改联系人信息有包括了对联系人编号,姓名,性别,电话号码的分别修改,也可以同时对编号,姓名,性别,电话号码修改。意义:对于一个通信录来说,要管理联系人的信息,包括编号,姓名,性别,电话。修改:选择要修改的联系人信息,可修改编号、姓名、性别或电话号码。
2025-06-28 17:49:15
627
原创 6/24作业
1、利用,现实号码匹配功能,例:“()”匹配成功,”([”匹配失败;1.stack.c文件。2.stack.h文件。3.main.c文件。
2025-06-23 20:29:26
505
原创 6/19作业
仅考虑以1的孩子结点2为根结点的子树,它也只能有左孩子(或右孩子),因此,在中序序列中,2或在序列首或序列尾,ABD皆满足要求。先插入100作为根节点,然后80作为左子节点,60是80的左子节点,90是80的右子节点,120作为100的右子节点,130是120的右子节点,110是120的左子节点。第10层的叶子结点在第9层共有。【另解1】由二叉树的性质n=n0+n1+n2和n0=n2+1可知,n=2n0-1+n1,及2n0-1+n1=768,显然n1=1,2n0=768,则n0=384。
2025-06-19 20:45:10
1108
原创 6/18作业
当程序已经包含了标准库头文件和相关命名空间后,标准库中的函数名、类型名等就被引入到了当前作用域中,根据C++标准规定,不允许用户重新定义这些已经存在于标准命名空间中的标识符,这是为了避免命名冲突和确保程序的正确性。因p指向a[0]那么p+8就指向a[8],*(p+8)代表p=8指向的内容就是a[8]的内容,即为91.例如执行A=B后,A的原值就丢失了,再执行B=A实际上是将B的值又赋回B。B选项是正确的,因为它符合标准的二维数组初始化语法:指定了列数(3),使用了正确的大括号嵌套,且数据完整。
2025-06-18 21:00:17
1222
原创 6/17作业
缓存局部性差:由于节点在内存中是离散存储的,不利于 CPU 缓存预取,访问速度会受到影响。插入和删除效率低:若要在中间或头部进行插入、删除操作,平均需要移动 O (n) 个元素。插入和删除效率高:在已知前驱节点的前提下,插入和删除操作只需 O (1) 的时间复杂度。不支持随机访问:要访问链表中的某个元素,必须从表头开始遍历,时间复杂度为 O (n)。动态扩展灵活:可以按需动态分配和释放内存,适合处理元素数量不确定的情况。存储密度大:每个元素仅存储数据本身,无需额外的指针域,空间利用率高。
2025-06-17 20:36:18
555
原创 6/10作业
当程序已经包含了标准库头文件和相关命名空间后,标准库中的函数名、类型名等就被引入到了当前作用域中,根据C++标准规定,不允许用户重新定义这些已经存在于标准命名空间中的标识符,这是为了避免命名冲突和确保程序的正确性。这是因为指针存储的是内存地址,而内存地址的大小是由计算机的寻址空间决定的,与指针指向的数据类型无关。不管指针指向的是1字节的char类型,还是4字节的int类型,指针变量本身的大小都是一样的。标准输入输出函数库是C语言不可分割的组成部分,但确实是以库函数的形式而非语言本身的语法结构来提供的。
2025-06-10 21:55:56
1395
原创 6/6作业
1、若有以下说明语句:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};33.若有定义int x[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};34.若有说明:char *language[]={“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};28.若有定义:int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;
2025-06-07 17:26:10
919
1
原创 6/5作业
6.在主函数中定义两个字符串,实现字符串的比较,返回差值。4.输入一个字符串,使用递归实现字符串的逆置。5.使用递归实现斐波那契。
2025-06-05 21:44:39
566
3
原创 6/4作业
8.输入5个人的姓名,实现升序排序strcmpstrcpy。3.输入一个二维数组,计算每一行的和,每一列的和。2.输入一个m行n列的二维数组,计算第二大值。6.输入一个字符串,实现单词的逆置。5.使用非函数实现atoi函数。4.使用非函数实现字符串比较。
2025-06-04 21:23:58
159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅