自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 自学嵌入式day61,行场同步信号

行时序控制每一行的扫描过程,涉及多个信号和参数:帧时序控制每一帧(整个画面)的扫描过程,参数类似但基于行时间单位:

2026-01-27 18:10:31 521

原创 自学嵌入式day50,时钟和定时器

PLL(锁相环电路):这是一个硬件模块,用于倍频时钟信号。其作用是将输入的时钟频率倍增到更高的频率,以满足系统对高速时钟的需求。例如,如果输入时钟频率为$f_{\text{in}}$,PLL可以通过锁相和倍频机制输出频率$f_{\text{out}} = N \times f_{\text{in}}$,其中$N$是倍频因子。这能提高处理器的运行速度。Prescaler(分频器):这是一个硬件或软件机制,用于分频时钟信号。其作用是将输入的时钟频率降低到更低的频率,以适应低速外设或节能需求。

2026-01-22 18:19:38 897

原创 自学嵌入式day49,arm led、蜂鸣器和bsp

/ 时钟初始化/* 其余CCGRx寄存器同理 */// LED初始化// 设置GPIO1_IO03为输出模式// LED控制函数state?

2026-01-20 18:17:17 378

原创 自学嵌入式day48,温度传感器

通信由单片机主机发起和控制,包括初始化、ROM命令、功能命令、数据传输。所有通信均以**时隙(Time Slot)**为单位。

2026-01-15 15:28:30 1348

原创 自学嵌入式day47,串口

数据 $b_0b_1...b_7$ 的发送顺序为:$b_0 \rightarrow b_1 \rightarrow \cdots \rightarrow b_7$通用异步收发器(Universal Asynchronous Receiver/Transmitter)是一种采用。其硬件接口内置独立通信规则,无需外部时钟同步。:发送端(TXD)必须对接接收端(RXD),电源地(GND)需共地。▷ 数据位:5~9 bits(含 LSB)▷ 停止位:1~2 bits 高电平。▷ 起始位:1 bit 低电平。

2026-01-14 18:37:20 686

原创 自学linuxday46

text{中断请求} \rightarrow \text{优先级裁决} \rightarrow \text{保护现场} \rightarrow \text{执行ISR} \rightarrow \text{恢复现场}\text{初值} = 65536 - \frac{T \times f}{12}

2026-01-13 18:24:52 620

原创 自学嵌入式day44,51单片机

嵌入式系统是一种以应用为中心、以计算机技术为基础的专用计算机系统,其软硬件可根据具体需求进行裁剪。针对性强:针对特定应用场景设计,如工业控制、家电控制等。可定制化:支持软硬件模块化配置,以适应不同性能要求。

2026-01-12 17:49:23 573

原创 自学嵌入式day43,商城网页

【代码】自学嵌入式day43,商城网页。

2026-01-08 17:46:33 765

原创 自学嵌入式day42,html

SQLite3 是一个轻量级数据库库,在 C 语言中常用。用于执行插入、查询等操作。)时,需定义回调函数来处理结果集。用于创建或连接数据库文件。

2025-12-30 19:07:24 1391

原创 自学嵌入式day41,数据库

数据库可根据规模分为大型(如Oracle)、中型(如MySQL/MSSQL)和小型(如SQLite)。常见类型包括关系型数据库,它使用结构化查询语言(SQL)进行管理。

2025-12-29 18:53:35 740

原创 自学嵌入式day39,抓包

2.选择网络设备,本机通信,loopback.外网通信,ens33.如果不确定,选择any .(适用于linux)2.选择网络设备,本机通信,loopback.外网通信,ens33.如果不确定,选择any .(适用于linux)ttl ,生存周期(64) ,数据每过一个网络节点,计数减一.如果计数为0 ,当前网络节点,放弃转发数据。ttl ,生存周期(64) ,数据每过一个网络节点,计数减一.如果计数为0 ,当前网络节点,放弃转发数据。在互联网上,唯一表示某个资源(网页,照片,电影)。

2025-12-25 19:33:07 1270

原创 自学嵌入式day38天,tcp

TCP(传输控制协议)是一种用于在网络中可靠传输数据的协议。CS(Client-Server)模型:客户端和服务器角色分明,客户端向服务器请求服务。BS(Browser-Server)模型:浏览器作为通用客户端,服务器提供服务。P2P(Peer-to-Peer)模型:节点之间对等通信,每个节点既是客户端又是服务器。CS模型:使用专用客户端,应用层协议可自定义,功能相对复杂,资源(如数据)存储在本地。BS模型:使用通用客户端(浏览器),应用层协议固定为HTTP,功能相对简单,资源由服务器发送给客户端。

2025-12-24 18:19:00 912

原创 自学嵌入式day37,网络编程

OSI(开放系统互连)模型是一个七层框架,用于描述网络通信过程。UDP(用户数据报协议)特性:无连接、低延迟、易丢失数据(发送过快可能导致丢包)。UDP编程中,注意数据边界和丢包风险。例如,发送太快时使用流量控制机制。OSI模型是通用框架,而TCP/IP是其实践实现,广泛应用于互联网。

2025-12-23 19:57:12 1340

原创 自学嵌入式day36,mplayer+fifo+exec

播放模式枚举MODEMODE_CYCLE:循环播放:随机播放:单次播放(注意:代码中拼写为SINGAL,应为SINGLE播放列表结构体LIST// 存储最多10个媒体文件路径int total;// 媒体文件总数// 当前播放索引MODE mode;// 播放模式} LIST;媒体路径宏目录遍历:使用dirent.h实现文件系统扫描进程控制fork()execlp()调用外部播放器进程间通信:通过命名管道(FIFO)向mplayer发送控制命令模式管理:枚举类型实现播放模式状态机。

2025-12-22 18:37:05 656

原创 自学嵌入式day35,信号和共享内存

共享内存是一种基于System V的进程间通信(IPC)机制,允许多个进程访问同一块内存区域。信号通信是一种异步通信机制,常用于处理随机事件和通知。

2025-12-21 22:23:23 817

原创 自学嵌入式day34,ipc进程间通信

进程空间独立,但进程间常需数据共享或交换,因此需要IPC机制。IPC允许不同进程高效协作,例如数据传输、同步操作等。IPC方式多样,可根据需求选择。无名管道适合亲缘进程,简单高效。有名管道扩展至任意进程,但需文件系统管理。管道通信需注意阻塞和关闭行为,避免死锁或数据丢失。实际应用中,结合进程同步机制(如信号量)可增强可靠性。

2025-12-18 19:59:04 792

原创 自学嵌入式day33,互斥和同步

对应的多步汇编指令)可能导致数据不一致。互斥锁通过将临界区代码封装为。(一次线程调度中必须完整执行),确保同一时刻仅有一个线程访问资源。交替运行),对共享资源的非原子操作(如。同步是互斥的扩展,用于控制线程执行的。在多线程环境中,互斥用于保证对。(如全局变量、文件、设备)的。当多个线程并发执行时(如。

2025-12-17 18:01:24 774

原创 自学嵌入式day32,线程

下面逐一解释您列出的函数,并提供代码示例。所有示例基于 C 语言,使用 POSIX 线程库。

2025-12-16 17:43:41 1079

原创 自学嵌入式day31,waitpid,system 函数

用于替换当前进程的代码和数据为新程序,不创建新进程(PID 不变)。:存储子进程退出状态。

2025-12-15 18:41:35 592

原创 自学嵌入式day30,回收进程

创建时,初始阶段完全共享父进程的内存空间(采用写时复制技术)。只有当父子进程尝试修改同一内存区域时,内核才会为子进程分配独立的内存副本。这种机制优化了资源使用效率。

2025-12-14 22:16:36 816

原创 自学嵌入式day29,进程

以下是针对您提供的关于进程的笔记内容的整理和解释。我将以清晰的结构帮助您逐步理解这些操作系统概念。内容基于标准的操作系统知识,确保真实可靠。

2025-12-11 17:49:26 1339

原创 自学嵌入式day28,文件操作

【代码】自学嵌入式day28,文件操作。

2025-12-10 19:28:33 636

原创 自学linuxday27,标准io和文件io

【代码】自学linuxday27,标准io和文件io。

2025-12-09 19:43:33 545

原创 自学嵌入式day26,系统编程

通过以上方法可快速查阅函数用法及参数说明。在 Linux 系统中,文件类型通过。

2025-12-08 18:29:55 601

原创 自学嵌入式day25,树

树与二叉树:层次结构明确,遍历方式多样,适用于动态数据存储与快速查找。哈希表:通过哈希函数直接定位数据,冲突解决策略影响性能。时间复杂度:理想情况下,哈希表操作接近O(1),树操作通常为O(log n)。

2025-12-07 20:56:04 692

原创 自学嵌入式day24,队列

队列是一种线性数据结构,遵循先进先出(FIFO)原则。允许插入的一端称为队尾,允许删除的一端称为队头。队列常用于解决缓冲或速度不匹配问题。顺序队列使用数组实现,但存在“假溢出”问题(即队列未满但无法插入新元素)。循环队列通过取模运算解决这一问题,将队列视为环形结构。链式队列通过链表实现,无需固定容量限制,动态分配内存。

2025-12-04 17:29:49 684

原创 自学linuxday22,栈

栈是一种线性数据结构,限定仅在表尾(栈顶)进行插入(入栈)和删除(出栈)操作。核心特性为先进后出(LIFO)或后进先出(FILO),即最早入栈的元素最后出栈。

2025-12-03 20:37:52 621

原创 自学嵌入式第22天,双向链表和gdb

【代码】自学嵌入式第22天,双向链表和gdb。

2025-12-02 19:17:02 700

原创 自学嵌入式day21,链表

【代码】自学嵌入式day21,链表。

2025-12-01 19:26:35 428

原创 自学嵌入式day20,顺序表

DATATYPE是通用数据类型,线性表,本质是一个容器,存储什么类型的数据,都是可以的,因为需要定义函数接口,通用数据类型作为参数,或者返回值使用。数据元素,描述一个相对完整的一个事物,就会有很多的属性,这里的属性被称为数据项。广义:如何把数据高效储存在计算机的内存中,方便后续使用,(增,删,改,查)。2.堆空间的生命周期,是由程序员控制的,需要的时候malloc,不需要的时候free。2.有穷性,执行的步骤会自动结束,不能是死循环,并且每一步是可以接收的时间内完成。数据对象,是数据元素的集合。

2025-11-28 17:50:53 847

原创 嵌入式day19,打印日历

如果需要更灵活的格式,可以使用month = 10。

2025-11-27 17:30:24 804

原创 嵌入式自学day18,位操作

位操作是计算机科学中对二进制位进行直接操作的技术,具有高效性和灵活性。

2025-11-26 18:33:18 660

原创 自学嵌入式day17,共用体,枚举,位操作

共用体是一种自定义类型,所有成员共享同一块内存空间,其大小由最大成员决定。

2025-11-25 17:24:51 603

原创 嵌入式自学day16,Void* 万能指针

struct 类型名 {数据类型1 变量1;数据类型2 变量2;// ...示例定义int year;int month;int day;int age;初始化方式完全初始化:所有成员显式赋值。部分初始化:未赋值的成员自动置零(C99标准支持指定成员初始化)。

2025-11-24 20:06:53 563

原创 自学嵌入式day15,指针数组和数组指针

A是数组的名字,也是一个指针常量,a指向的是a[0]元素的地址。对一维数组的数组名&:值不变,类型就升级为数组指针,指向。一维数组的数组名,是第一个元素的地址,数组名。*,地址值不变,类型就会降级为指向数组中。指针数组,数组,元素是指针。数组,主要是用来存储数据。指针,主要是用来访问数据。第一个元素的地址,数组名。二维数组的数组名,是。

2025-11-21 17:36:39 1163

原创 自学嵌入式day14,指针函数和函数指针

应用,降低耦合度,增加灵活性,在代码开放阶段,指向的内容是一段操作,不确定,需要程序运行起来以后,才能确定具体功能,这里的add,会在程序运行起来后,根据不同情况会被调用,add,sub被称为回调函数;4.5等价, 指针指向的内容不能发生变换,指针本身也不能变。在复制字符串的过程在,src指向的内容,不能被修改的。1,2指针叫常量指针,指针指向的内容是一个常量。1和2等价,代表char *strcpy(char*dst,const char *src);本质,是一个指针,指针指向一个函数。

2025-11-20 17:36:57 532

原创 自学嵌入式day13,指针

如果传递的是一个字符串数组,那么被调函数在设计的时候,就只需要一个指针接收实参传递的数组名,不需要第二参数,原因是c语言字符串都是以“\0”结尾。如果在被调函数内部修改形参,实参不会改变,形参是实参的一个复制品。实参将自己的地址给形参,形参是一个指向实参的指针,可以通过间接访问的方式,访问到实参的内容(可以读写实参的内容)数组名的类型可理解为int*(除以下三个区别外)适用场景:被调函数,需要既可以读也可以写的场景。适用场景:被调函数,只需要读实参的内容。数组的数组名是指向第一个元素的指针常量。

2025-11-19 17:27:49 630

原创 自学嵌入式day12,指针

高效访问数据多了一个对变量访问的方法,间接访问(函数参数有关)可以操作底层硬件(操作硬件的寄存器)

2025-11-18 17:31:41 716

原创 【无标题】

如果为真,运行#endif 之。#include 作用,把目标打开,复制所有内容,到本文件(.c)的#inlcude位置。#if #if 表达式 ,判断条件是否为真,如果为真,则执行#endif 之前的代码。#if VER>1.0 如果版本号>1.0 就执行#if #endif 之间的代码。#define _FUNC_H_ 定义这个宏, #endif 之前的代码会运行。#else #if 表达式 为假的时候的需要执行的代码(#endif)。1.在预处理阶段,宏实现代码的替换,没有其他任何数据的计算操作。

2025-11-17 18:53:40 629

原创 自学嵌入式day10,函数

2)全局变量:从程序开始运行前的准备工作,(a.out在运行起来之前,系统会先给a.out分配对应的内存空间),到程序结束的时候,释放,全局生命周期。函数内部定义的变量,函数的参数,空间释放是自动,出了作用域自动释放。声明add这个函数,声明函数的返回值,参数类型和个数,add函数的实现在其他源文件.c。主调函数,主动调用别的函数的函数,被称为主调,main(),执行流跳转的被调函数;被调函数,被主调函数调用的函数,执行到return,就要回到主调的地方,函数在调用前,必须先定义(定义中包含函数的声明)

2025-11-14 19:52:41 586

空空如也

空空如也

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

TA关注的人

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