自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 守护进程编程

(1)守护进程(Daemon)是在计算机系统中以后台方式运行的特殊进程。守护进程通常在系统引导时启动,并一直在后台运行,直到系统关闭或显式终止。与一般的用户进程不同,守护进程不依赖于特定的终端或用户会话,它独立于终端控制并在系统级别执行特定的任务。(2)守护进程常用于执行系统服务任务,如网络服务、打印服务、日志记录等。它们能够以长期运行的方式提供服务,而不受用户登录、注销或关闭终端的影响。守护进程通常在系统启动时自动启动,并以系统管理员的权限运行。

2025-04-20 14:19:34 563

原创 Linux系统调用编程

一个进程可以包含多个线程,这些线程共享进程的资源,如内存空间、文件描述符等。进程之间的资源是相互隔离的,通过进程间通信(IPC)机制,如管道、消息队列、共享内存等,实现进程之间的信息交换和同步。例如,在一个多媒体播放器进程中,一个线程负责播放音频,另一个线程负责播放视频,这样可以实现音频和视频的同步播放。共享资源:同一进程内的多个线程共享进程的内存空间和系统资源,这使得线程之间的通信和数据共享更加方便。轻量级:线程的创建和销毁开销相对较小,因为它们共享进程的资源,不需要像进程那样分配大量的系统资源。

2025-04-04 13:51:07 1115

原创 使用STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集

软件I2C (Software I2C)软件I2C是通过软件代码模拟I2C协议的时序和信号来实现通信的。这种方法不依赖于特定的硬件I2C模块,因此几乎可以在任何微控制器上实现。以下是一些关键点:灵活性高:由于是通过软件实现,可以在没有硬件I2C支持的设备上使用。占用资源:软件I2C需要CPU周期来处理时序和数据传输,因此会占用更多的处理器时间,可能影响整体系统性能。速度限制:受限于软件执行速度,通常不能达到硬件I2C的最高速率。

2024-06-22 20:13:29 1026

原创 学习基于I2C协议的OLED显示(利用U82G库)

I2C协议理解:深入理解了I2C协议的工作原理和在嵌入式系统中的应用。U8G2库使用:掌握了U8G2库的基本使用方法,能够利用其实现文本和图形的显示。硬件调试:提高了硬件调试能力,学会了通过调整硬件连接和参数配置来解决实际问题。

2024-06-10 22:55:22 818

原创 学习移植 µC/OS 到 STM32F103 并实现多任务

μC/OS-II是一个完整的,可移植、可固化、可裁剪的占先式实时多任务内核;支持56个用户任务,支持信号量、邮箱、消息队列等常用的进程间通信机制;适用于各种微控制器和微处理器;所有代码用ANSI C语言编写,程序的可读性强,具有良好的可移植性,已被移植到多种处理器架构中,在某些实时性要求严格的领域中得到广泛应用。µC/OS-III 的移植:学会了将实时操作系统移植到指定硬件平台,并进行了必要的配置和初始化。多任务管理:了解了如何创建和管理多个任务,实现了不同任务的周期性调度和执行。

2024-06-08 13:59:17 844

原创 学习定时器与PWM的LED控制

上来说就是用来定时的机器,是存在于STM32单片机中的一个外设。STM32总共有8个定时器,分别是2个高级定时器(TIM1、TIM8),4个通用定时器(TIM2、TIM3、TIM4、TIM5)和2个基本定时器(TIM5、TIM6),如下图所示:脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,可以理解为控制脉冲的宽度,利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,它通过控制信号的脉冲宽度,实现对电压或电流的精确控制。

2024-05-31 16:48:35 869

原创 学习HAL库LED点灯

实物链接:在keil中生成.Hex文件,再进行烧录,完成点灯。通过本次实验,我不仅掌握了HAL库的基本用法,还提高了对嵌入式系统开发的理解。HAL库极大地简化了硬件控制的编程过程,使我们能够更专注于应用层的开发。在今后的学习和项目中,我会继续深入探索HAL库的其他功能,提升自己的嵌入式系统开发能力。

2024-05-24 14:54:29 874 1

原创 学习stm32中断原理和开发编程方法

STM32中断串口口是一种基于中断的串行通信接口,它可以在两个不同的系统之间传输数据。它的工作原理是:当STM32处理器检测到串口口接收到的数据时,它会触发一个中断,这个中断会被STM32处理器捕获,然后处理器会对接收到的数据进行处理,并将处理结果发送给串口口发送端。

2024-05-19 21:27:25 534 1

原创 STM32串口通信

我们了解了串口通信的基本原理,其中包括波特率、数据位、停止位和校验位等重要概念。然后,我们学习了如何在STM32的固件库中使用相应的函数来初始化和配置串口通信模块,包括开启GPIO时钟、配置GPIO引脚、设置USART参数等步骤。这次实验让我对串口通信有了更深入的了解和认识,同时也提升了我的实践能力和问题解决能力。

2024-05-12 21:09:22 1010 1

原创 学习STM32控制LED灯亮灭

4.在main函数中,开启了GPIOA、GPIOB和GPIOC的时钟,并配置了各个LED对应的引脚为推挽输出模式。23,24号引脚:VSS_1,VDD_1:系统的主电源口,同VSS_2/3,VDD_2/3,分区供电,都接上。SW两根下载调试端口,JT5根,PA13,PA14,PA15,PB3,PB4,JT的5根调试端口,这5个口,一般不调用为IO口。20号引脚,PB2,io口,或boot1引脚,可用来配置启动模式,同BOOT0,10-19,21,22,25-33,41-43,45,46:IO口,

2024-05-05 21:06:03 3521

原创 单总线温度采集

DS18B20 是由 DALLAS 半导体公司推出的一种的“一线总线(单总线)”接口的温度传感器。与传统的热敏电阻等测温元件相比,它是一种新型的体积小、适用电压宽、与微处理器接口简单的数字化温度传感器。之后在keil中观察波形。

2024-04-20 20:46:49 317

原创 51单片机定时器与串口通信开发板实现

方式1下,TXD数据发送端,RXD为数据接收端,波特率可变,由定时/计数器T1的溢出率和电源控制寄存器PCON中的SMOD位决定,故可编程设定定时器以设定波特率,其中溢出率 = 计数器一秒钟内溢出的次数。接收:在 RI = 0 时,将REN置"1"就启动一次接收过程,RXD上的串行数据一次移入移位寄存器,当一个字节发送完成之后,接收中断标志RI被置为"1",同时向CPU申请中断。(1)方式1位8位异步通信方式,在方式1下,一帧信息为10位,1位起始位(0),8位数据位(低位在前)和1位停止位(1)

2024-04-20 20:21:46 1020

原创 51单片机中断与定时计数实验

CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生),那么CPU就会暂停当前的工作(A事件),去执行B事件(中断响应和中断服务),然后B事件做完之后,再回到原来的事件(A事件)中继续工作。因此计数器初值为65 536−4=65 532,将其转换成十六进制后为0xfffc,所以,TH0=0xff,TL0=0xfc。(2)如下图,T1采用计数模式,方式1中断,计数输入引脚T1(P3.5)上外接按钮开关,作为计数信号输入。将定时器控制寄存器TCON中的TR0=1,则启动定时器T0;

2024-04-07 21:33:28 1154

原创 C51开发板汇编语言和LED周期性点灯C程序实验

1.通过实验,可以将课堂理论知识转化为具体的实际操作,更深入地理解和掌握所学知识。2.实验过程中,需要亲自动手编写程序、调试硬件连接,从而提升了实践能力和动手能力。3.学生可以锻炼编程逻辑思维能力,培养解决问题的能力,提高代码调试和优化能力。

2024-03-24 18:50:16 441 1

原创 基于SDCC和Edsim51的代码仿真

然后打开Windows命令提示符,输入“d:”等进盘,再输入“cd”和.c文件地址进入对应的代码路径。编译成功后将.ihx文件转化为.hex文件:packihx LED.ihx > LED.hex。编写汇编语言的代码,建立asm文件。在Edsim51中点击“load"并且找到文件,运行代码:MOV 90H, #0xFE。** 用汇编语言和C语言,在Edsim51虚拟开发板上点亮一个Led灯**3.让LED灯周期性闪烁。3.让LED灯周期性闪烁。

2024-03-17 19:41:39 1063 1

原创 使用proteus实现流水灯工程

在这次的实验中,我学习到了在protues中创建工程,原理图设计界面的使用,51程序设计和仿真等使用。会让我在这方面的学习中有更多的机会学习使用,在平常的使用中更加方便。

2024-03-10 00:28:25 747 1

原创 Verilog基础练习

分析:在Verilog中,reg类型表示寄存器类型,用于always模块内被赋值的信号。因为3-8译码器模块的输出信号out是在always块中被赋值的,所以必须定义为reg类型。如果将output reg [7:0] out改为output [7:0] out,会出现“Multiple drivers”错误,因为wire类型的信号可以有多个驱动器,而reg类型的信号只能有一个驱动器。Verilog代码设计的3-8译码器模块的输出信号为何要定义为reg类型而不用默认wire(导线)类型?

2023-12-17 20:08:47 730 1

原创 用logisim设计基本R-S,D触发器并用硬件联线完成实际电路

(1)了解R-S和D触发器结构(2)列出其功能表(3)用logisim设计基本R-S,D触发器(与非门)(1)根据设计的电路完成联线(2)验证电路。

2023-11-19 23:09:26 3078

原创 了解74SL148和74SL138并用Multisim软件实现“病房求助“问题的优先级

7段显示译码器74LS48是输出高电平有效的译码器,74LS48除了有实现7段显示译码器基本功能的输入(DCBA)和输出(Ya~Yg)端外,7448还引入了灯测试输入端(LT)和动态灭零输入端(RBI),以及既有输入功能又有输出功能的消隐输入/动态灭零输出(BI/RBO)端。题目中要我们根据情况的不同,设置优先级,实际是要我们做一个”四路抢答器“,所以要用到74SL148和74SL138解决问题,在上述中已经介绍了74SL148和74SL138,下面以此来解决问题。(2)用74SL148对优先级进行设计。

2023-11-14 22:18:04 1378

原创 逻辑电路的分析和设计

用与非门做一个四路表决器:当四个输入端A,B,C,D中有三个或四个为“1”时,输出端才为“1”。根据所做真值表,将输出Z输入卡诺图。

2023-11-03 01:28:28 2036

原创 了解74LS00和74LS20并测试逻辑电路和逻辑功能

通过下面的电路可以看出,有A,B,C,D四个输入值,一个输出值Y,由一个与门和一个非门组成,也可以简化为一个与非门。74SL20在logisim中没有现成的电路提供,所以需要通过下面的图片自己搭建一个电路进行逻辑功能的测试。由图可见7420由两个四位输入的与非门组成,VCC接电源正极,GND接电源负极。根据下表数据进行测试,如果电路连接准确,结果相同,则测试成功。最终的测试结果和途中数据的结果相吻合,所以测试准确。右下角的红灯亮起是输入,右上角的红灯亮起是输出。(2)74SL20的逻辑功能测试。

2023-10-23 23:19:56 12220 1

原创 用logisim实现4位二进制补码器

(2) 负数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。将两个一位二进制数相加,并根据接收到的低位进位信号,输出和,进位输出。全加器的输出和半加器类似,包括向高位的进位信号Cout和本位的和信号S,相加结果的总和用十进制表达为 sum=2*Cout+S。因为正数和负数的补码运算规则不一样,取决与输入二进制数的最高位(符号位)。最高位为1的时候,这个4位二进制数变为反码,给最低位加1,保留本位,第二位数与进位数相加,以此类推,最后的结果就是最后的补码。输出变量为和与进位。

2023-10-22 15:11:21 1133 1

原创 虚拟机VMware下载和Ubuntu安装,在虚拟机环境中进行C语言编辑

虚拟机VMware下载和Ubuntu安装,c++的编辑目录标题)

2023-10-21 14:14:21 1191 1

空空如也

空空如也

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

TA关注的人

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