自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DS18B20温度传感器

DS18B20温度传感器的原理DS18B20温度传感器的原理DS18B20使用单总线协议进行通信的即只需要一个处理器的端口实现数据的输入输出。

2025-07-15 15:53:07 407

原创 函数的入参

分析下列两段代码:(1) 直接修改参数x(2) 使用局部变量y相对来说第一种的写法存在问题,使用第一种写法的话,会将传入的数据进行修改从而的到的就不是原来的数据而是0:会对数据进行读操作和写操作第二种写法就很安全,不会对传入的数据进行修改,只对数据进行读操作。

2025-04-16 13:26:24 117

原创 三极管以及mos管

三极管是电流控制电流器件,是一种三端有源器件,三个电极分别为基级(记为B),集电极(记为C),发射极 (记为E),基级是控制级,集电极是受控级,是使用基级电流IB的大小控制集电极IC的大小。三极管中有2个PN结,分别称为发射结和集电极结,按材料划分为硅材料三极管(硅管),锗材料三极管(锗管),按极性可分为NPN型,PNP型。IB和IC都流向IE,根据电流方向IE要接GND,所以是高电平导通。3流向2(高电平导通)3接负载跟VCC。1流向2(高电平导通)1为控制级。2流向3(高电平导通)

2025-04-11 13:32:17 540

原创 嘉立创EDA飞线

当两个封装的焊盘网络相同时,会出现飞线,表示这两个焊盘可以通过导线连接。嘉立创EDA专业版支持器件飞线的隐藏和显示。点击后,所选器件的飞线会单独隐藏。顶部菜单 - 视图 - 飞线。点击后,所选的器件飞线会显示。点击后,器件的飞线会被隐藏。飞线是基于相同网络产生的。点击后,所有飞线全部隐藏。点击后,所有飞线全部显示。点击后,器件飞线会显示。快捷键:Ctrl+R。

2025-04-01 14:07:16 648

原创 嘉立创EDA如何让 PCB,原理图 同时显示

在给元器件布线时通常需要看原理图的布局,在不知道的情况下都是打开两个进程,边看边操作,在这种情况下不但浪费多余的资源而且不能实现布局传递(元器件点住在原理图中显示\在原理图中点住在PCB中显示)嘉立创提供了窗口排列,同时能实现布局传递。在顶部菜单中找到 - 视图 - 窗口排列 - 水平平铺(根据自己的需求选择)水平平铺快捷键:V+W+H。垂直平铺快捷键:V+W+V。平铺所有快捷键:V+W+T。合并所有快捷键:V+W+M。

2025-04-01 13:50:02 594

原创 嘉立创EDA如何让电子元器件重新进行排序

2025-04-01 13:31:56 646

原创 系统篇---uCOS-II(第2小节)创建第一个通用的ucosii操作系统工程模板

前篇我们了解了ucosii以及操作系统的一些基本知识,此篇开始我们就进入代码编程阶段。

2025-03-04 11:34:52 238

原创 系统篇(uCOS-II)——第1小节

从层次来看,操作系统位于计算机硬件之上。应用于软件之下,所以也把它叫做应用软件的运行平台。计算机操作系统的作用:计算机操作系统的功能任务管理(任务表),存储管理(存储分配表),文件管理(文件目录)I/O设备管理(设备目录),网络和通信的管理(以太网或232),处理器的管理总之:需要一大堆表来进行管理,维护操作系统。能用一个处理器并发(并发而不是同时)的运行多个程序的计算机管理系统。

2025-03-03 16:59:05 1037

原创 Linux中Vim编辑器日常使用

一,Vim编辑器的配置一,Vim编辑器的配置lscd ~"关闭兼容功能"显示行号set number"编辑时 backspace 键设置为2个空格"编辑时 tab 键设置为4个空格"设置自动对齐为4个空格"搜索时不区分大小写"搜索时高亮显示粘贴好后空一行,保存退出——vim就配置好啦!二,Vim编辑器的三种模式(1),一般模式输入命令会进入一般模式输入命令:wq回到终端命令行常用操作:k:上j:下h:左l:右x:删除光标处的字符。

2025-02-27 15:31:12 684

原创 就业方向规划

今天我们来聊聊计算机<工程师>的就业方向,首先我会将我知道的领域进行分类,再一 一详细说明。作为即将毕业的计算机工程师方向的学生,以下是根据当前就业市场的岗位分类和相关领域的具体内容整理。就业建议:硬件方向:喜欢底层逻辑,电路设计。软件方向:偏好算法,业务逻辑。交叉邻域是趋势:物联网,自动驾驶,机器人等方向需要同时掌握软硬件知识。

2025-02-19 12:33:07 838

原创 C语言扩展知识点3

一,为什么变量不可以在switch语句中声明定义?switch语句是一种常见的控制流结构,用于基于某个表达式的值来选择性地执行不同的代码块switch语句内部不允许声明新的变量。1.1 switch语句的基本用法。

2024-08-30 14:15:00 681

原创 STM32嵌入式知识点

二,嵌入式代码常见的命名规范。

2024-08-29 20:07:38 1038

原创 C语言扩展知识点2

1.1 C/C++结构体(1)结构体的概述结构体是一种自定义的数据类型,它可以包含多个不同的数据类型的成员。结构体由一个或多个成员变量组成,每个成员变量都可以有不同的数据类型和名字。结构体也可以嵌套定义在其他结构体中,以实现更复杂的数据模型。int num;char sex;int age;(2)结构体类型的定义在 C++ 语言中,可以使用struct关键字来定义一个结构体类型。struct 结构体名称 {数据类型 成员变量1;数据类型 成员变量2;...int id;

2024-08-29 18:04:08 369

原创 C语言扩展知识

一,关于sizeof的总结1.1 sizeof是什么sizeof是cyuyandeyizhong单目操作符,如++,--等。sizeof操作符以字节形式给出其操作数的存储大小操作数可以是一个表达式或者包括在括号里类型名操作数的存储大小有操作数的类型决定1.2 sizeof与其它操作符的关系操作数的优先级为2级,比 /,%等三级运算符优先级高。它可以与其他操作符一起组成表达式,如://其中int为类型变量。1.3 sizeof的主要用途。

2024-08-29 00:03:22 913

原创 STM32系列:定时/计数器——通用,高级定时器

如下事件发生时产生中断/DMA: ─ 更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发) ─ 触发事件(计数器启动、停止、初始化或者由内部/外部触发计数) ─ 输入捕获 ─ 输出比较。通用定时器:TIM2/TIM3/TIM4/TIM5在STM32F1系列中具有广泛的应用。计数器的时钟由内部时钟(CK_INT)提供。外部时钟模式1:外部输入引脚(TIx)外部时钟模式2:外部触发输入(ETR)参考stm32F10xxx参考手册。内部时钟(CK_INT)内部触发输入(ITRx)

2024-08-27 00:08:28 1204

原创 STM32系列:定时/计数器——基本定时器

一,STM32定时/计数器概述1.1STM32定时器分类STM32f1共有8个定时器。2个基本定时器:用于产生简单的延时【TMI6,TMI7】4个通用定时器:用于复杂的定时任务,有多种工作模式和功能【TMI2~TMI5】2个高级定时器:用于高性能和高准确度的定时任务【TMI1,TMI8】定时器性能:高级>通用>基本1.2 STM32基本,通用,高级定时器的功能整体区别定时器类型主要功能基本定时器没有输入输出通道,常用作时基,即定时功能通用定时器。

2024-08-26 18:46:28 1452

原创 ARM处理器

当执行子程序调用指令(BL)时,R14可得到R15(程序计数器PC)的备份.在每一种运行模式下,都可用R14保存子程序的返回地址,当用BL或BLX指令调用子程序时,将PC的当前值(即子程序的返回地址)复制给R14,执行完子程序后,又将R14的值复制回PC,即可完成子程序的调用返回。在特权模式中,除了系统模式外(系统模式不属于异常模式,不能通过异常中断进入),其他的5种又称为异常模式,它们可以通过异常中断切换到相应的处理模式中。用户模式是最基本的处理器模式,大多数用户程序都是在用户模式下进行;

2024-06-30 15:19:04 1192

原创 8051时序总结

需要说明的是,单片机内核在访问片内资源(片内存储器,片内外设)时,相关的信号(包括地址信号,数据信号,控制信号)都是在内部总线上流动的,内部的存储器和外设在芯片内部连接好的,用户是看不见也不用关心的,只有在单片机外部扩展存储器芯片和外设是由用户连接的。8051是一种指令周期变长的计算机,其不同指令的指令周期有所不同,8051共有3种指令周期的指令:1MC指令,2MC指令(访问外部RAM的指令都是2MC指令),4MC指令(只有乘法和除法指令)绝大多数的嵌入式处理器的指令周期是1MC的(即单片周期指令)

2024-06-15 20:17:11 1167

原创 8051指令系统及汇编语言设计(1-3)

在8051单片机中,没有专门的通用硬件寄存器,而是把内部数据RAM区中的通用寄存器R0~R7作为工作寄存器使用,共有32的单元,分为4组,每组8个工作寄存器,每次只使用其中之一,当以R0~R7来表示操作数时,就属于是寄存器寻址方式。(5)变址寻址:变址殉职是以DPTR或PC的内容为基本地址,然后加上基址上A的内容作为地址偏移量,是专门针对或用于程序存储器的寻址方式ROM都是1byte指令。(4)立即数寻址方式:若指令的操作数是一个8位或16位二进制数,就称是立即寻址,指令中的操作数称为立即操作数。

2024-06-01 13:36:49 1795

原创 8051指令系统及汇编语言设计(1-2)

001BH(定时计数器1);栈是在RAM空间中开辟的一个数据缓冲区,8051的栈单元是8bit(1byte的),它只能通过栈指针寄存器sp来操作,且只能从开口端向缓冲区写入数据或读取数据(按后进先出顺序)(1)寄存器区(00H~1FH):这32个单元是作为通用寄存器使用的,分为4组,每组8个寄存器,每个寄存器按R7~R0编号;(2)位寻址区(20H~2FH):这16个单元既可以作为一般的RAM(存放程序中的位变量)使用也可以进行字节操作或对每一位进行操作,是8051位处理器的位数据存储区。

2024-05-23 22:21:33 942 1

原创 8051指令系统及汇编语言设计(1-1)

标识符 EQU 数值(8bit或16bit)------将数值的值赋给标识符。不可位寻址是指程序员不可以对寄存器的某个位进行操作,如果要修改必须要将寄存器的整个进行修改。用来在ROM空间中定义一个16bit(每一位占用2个字节)的数据表格(与DB相似)8051中多字节数据是按大端格式存储的(低地址存放高字节,高地址存放低字节)LED的引脚为P1.0。指令中参与运算的数据称为源操作数,运算的结果称为目标操作数(用来指定开头的起始地址(开始执行的地址)程序段或者数据段。

2024-05-17 12:43:52 1402

原创 内存管理单元——MMU(1-4章节(完结))

MMU除了具有虚拟地址到物理地址变换功能外,还具备存储器访问权限检查功能(即内存保护功能)MMU把内存空间分为16块,CP15的C3寄存器每两位控制一个域(MMU内存保护功能指的是可以设置的一块内存的读/写权限,是由协处理器cp15的域访问控制寄存器c3第一级页表中的描述符的域Domain位段,Ap位段以及协处理器cp15寄存器c1中的R,S,A位共同完成的)4,使用DMA(直接访问寄存器,DMA的方式是不经过cpu)操作可以被cache的内存时,将内存的数据发送出去时,要清空cache;

2024-05-12 13:53:45 809

原创 内存管理单元——MMU (1-3)

大页描述符和小页描述符所在的第2级页表,既可以在粗页也可以在细页表;当虚拟地址是以也为单位映射到物理内存空间时,需要使用2级页表才能实现虚拟地址到物理地址的转换,当虚拟地址是以也的方式映射到物理地址的时候,该虚拟地址所在的段在第一及页表中的描述符一定是粗页描述符或者是细页描述符,在这个粗/细页描述符中包含了第2级页表,且这个虚拟地址所在的段虚拟空间中的第2级页表的地址。如果大页描述符是保存在粗页描述符中的,粗页表中的每个描述符表达的是4KB的物理页,则粗页表中连续的16个描述符都保存同一个大页描述符;

2024-05-10 23:51:30 1107

原创 内存管理单元——MMU(详细版 )

使用进程标识(PID)来区分,PID是一个整数,也称进程号,每创建一个进程Linux内核就会为该进程分配一个PID,进程结束退出后PID又被系统收回,可分配给其他进程,而在Linux中是多个进程并发的:这个并发的进程cpu发出的虚拟地址VA都是从0x0地址开始的,地址范围:0~32MB即0x00000000~0x01ffffff。1,以段的的方式进行地址变换时,是将虚拟地址的内存空间(4GB)划分成2的32次方=2的20次方乘以2的12次方等于4096=4K个段(1MB大小的内存块称为段Section)

2024-04-27 21:14:45 637

原创 内存管理单元——MMU(第一章节 1-2)

启动mmu之后,cpu发出的都是虚拟地址(VA),虚拟地址VA由硬件变换成MVA供cache,mmu使用,通过mmu转换成物理地址(PA),最后使用PA来读写内存和外设。ARM目标系统实际配置的存储器(包括外设)地址范围空间称为物理地址空间,其中的某个地址称为物理地址PA,它们对应的实际内存单元,3,通过页表项中的物理地址基址(Page Base Address)和页内偏移,可以计算出物理地址(MVA)。cache,mmu看到的是(输出的是)mva,它们将mva转换成PA(物理地址)

2024-04-22 10:29:34 861 1

原创 内存管理单元——MMU

虚拟地址VA :在计算机技术中,把cpu的寻址空间简称为逻辑空间或者是虚拟空间,对应的地址成为虚拟地址也称为逻辑地址记为(Virtual chengxudoushiADDress:VA)从软件角度上看,程序都是在虚拟地址空间运行的,cpu发出的都是虚拟地址。虚拟内存管理技术是基于程序可分段的,基本思想是将系统中的虚拟内存空间和物理内存空间划分成若干个大小相同的内存块,将虚拟内存空间中的内存块的地址映射成物理块的地址,这个地址映射可以在程序运行之前进行初始化阶段运行,也可以在程序运行时进行。

2024-04-17 22:40:14 656

原创 51单片实验LED1~LED8(同时闪烁3次,再顺序点亮)

新建文件夹Common(common.h common.c)该目录存放公用文件,如数据定义,软件延时等。3,流水灯点亮每个LED点亮250ms后熄灭轮到下一个LED点亮,可以用移位来实现。2,闪烁3次后再顺序点亮LED1~LED8实现流水灯功能,点亮时间为700ms。模块化编程完成后,新建工程,在里面进行编译,编译正确后就可以在实验板上实现了。4,用代码实现后新建编程,编译正确后在实验板上实现以上内容。1,整体闪烁LED3次 ,亮和熄的时间为500ms。2,闪烁3次,加循环,循环3次。

2024-03-29 12:42:17 1268 1

原创 51单片机点亮LED1~LED8(采用软件延时数组方式)

这些在原理图中都是可以看出来的,我们要定义它的引脚才能让它实现我们想要的功能,51单片机中有3种延时方式,分别是软件延时,硬件定时器延时,外部中断延时。而我们今天要采用的是软件延时,软件延时是怎么实现的呢?新建文件夹Bsp(LED.c LED.h ) ( timer.c timer.h) 该目录存放用户编写的外设驱动模块。2,采用模块化编程:包括使用软件延时来产生延时,采用数组控制LED进行编程。我们将我们的代码打好后就可以新建工程了。3,程序编码要求规范。

2024-03-22 13:40:23 887 1

原创 51单片点亮LED1-4(LED1~LED8)

模块化程序已经打完了接下来我们就要新建工程咯还是老样子,忘记建工程的朋友可以去看看我前面几篇,有写到,建好工程后我们就把我们的程序放进去开始进行编译。3.编写我们所需要实现的功能 首先我们来新建App(app.c app.h)其实点亮LED灯也并不需要一定采用固定的方法 可以根据自己的思想去构造。我这个稍微有点太乱了,如果有自己的方法可以按照自己的方法来哦。下面就是我们的延时函数(common.h是固定在里面的哦。接下来我们就可以来写我们需要实现的功能了。1,采用模块化编程,程序编码要求规范。

2024-03-17 10:20:53 656 1

原创 程序:51单片机点亮LED1-3(采用数组方式点亮~)

使用模块化,前两篇已经有了一些了解,不懂的可以去看我前两篇的文章,如果还是看不懂,可以去搜索一下模块化编程是个什么,反正了解大概就可以了,那么话不多说我们直接上代码!我们把我们所需要的App,Bsp.Common添加进去,就可以开始进行编译了,编译正确就可以连接STC在实验板上实现我们要的功能了(采用数组的方式点亮LED)看起来好像是挺麻烦的但我们用多了就会发现c语言灵活方便,执行效率高,反正好处很多就不一一说明了,总之c语言是基础,我们要把它列为。为了区分于其他数字的区别,开头都是以0x开始。

2024-03-07 16:58:51 1072

原创 51单片机点亮LED 1-2(采用数据移位方式)

Bsp文件内包含LED.c LED.h 以及timer.c timer.h。如上在模块中完成后就可以进行新建工程了 然后在进行编译,编译成功后就可以在板子上实现我们想要的内容了。Common文件内包含common.c common,h。新建文件夹LED 在此文件夹内再新建App,Bsp,Common。App文件夹内包含app.c app.h。注意:common.h中的代码是工程模块中已经包含的。2.采用模块化编程,程序编码要求规范。

2024-03-05 17:51:58 484 1

原创 51单片机点亮LED1-1(采用软件延时方式)

5、发现错误 :未定义标识符、缺少功能原形。要求采用模块化编程,程序编码要求规范。每个led点亮时间为700ms。6、在板子上实现功能。

2024-03-04 16:38:49 507

空空如也

空空如也

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

TA关注的人

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