自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 字符设备驱动流程

字符设备是Linux驱动中最基本的一类设备驱动,字符设备就是—个—个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、IIC、SPI、LCD等等都是字符设备,这些设备的驱动就叫做字符设备驱动。linux系统中万物皆文件,驱动程序加载后会在/dev目录下生成一个对应的文件,如/dev/led。应用程序就是先用open打开该文件,用write控制led的亮灭,用read读取led的亮灭,用完之后用close关闭该文件。

2024-05-07 14:56:00 612 1

原创 Day 3. cy语言和汇编语言的互相调用

lr(栈指针)来管理 主调函数来负责。3、读写cpsr寄存器的指令是什么?4、入栈和出栈操作使用的指令是什么?读CPSR —— MRS指令。写CPSR —— MSR指令。1. 等待返回值寄存器。

2024-04-15 09:04:04 236

原创 Day 2. 2440相关知识点

ARM920T有31个通用的32位寄存器和6个程序状态寄存器,这37个寄存器分为7组,进入某个工作模式时就使用它的那组寄存器。有些寄存器,不同的工作模式下有自己的副本,当切换到另一个工作模式时,那个工作模式的寄存器副本将被使用:这些寄存器被称为备份寄存器。从下图中可以看出fiq模式的备份寄存器最多,这是为了提高fiq的响应速度,减少保存寄存器值所花费的时间。的工作模式分为普通模式、特权模式,其中特权模式又细分为六种模式。4、cpsr中的那几位是用来设置工作模式的?1、arm的工作模式有哪些?

2024-04-10 18:45:19 614

原创 Day 1. 51单片机的学习和相关概念

驱动裸机驱动:51——>s3c2440——>linuxLinux驱动寄存器:全局变量。

2024-04-09 19:30:04 1087

原创 Day 7. 哈希表

哈希存储——>散列存储哈希冲突/哈希矛盾如何解决?开放定址法:链地址法:.h文件1、创建哈希表2、设计哈希函数3、数据插入4、查找5、销毁6、遍历。

2024-03-25 19:41:33 321

原创 Day 6. 二叉数:满二叉树、完全二叉树

顺序表、链式表、栈、队列:线性——一对一的结构。

2024-03-23 22:58:33 386

原创 Day 5. 循环队列

顺序队列:存在假溢出问题,于是出现了循环队列。防止越界访问:i=(i+1)%len。满队列:尾下标加一等于头下标。空队列:头下标和尾下标相等。

2024-03-23 09:00:38 236

原创 Day 4.系统栈-----顺序栈、队列-----链式队列

大小:8MB1、局部变量2、未经初始化为随机值3、代码执行到变量定义时为变量开辟空间4、当变量的作用域结束时回收空间5、函数的形参和返回值6、函数的调用关系、保护现场和恢复现场7、栈的增长方向,自高向低增长。

2024-03-21 22:51:37 413

原创 Day 3.双向链表

* 学生信息结构体 */int id;int score;}DATA_STU;/* 结点 *///前驱结点的地址//后继结点的地址}DOU_NODE;/* 链表标签 */int clen;}DOU_LIST;

2024-03-21 01:01:25 445

原创 Day 2. 数据结构-----单向列表2(无头链表)

定义两个指针指向头结点,慢指针一次走一步,快指针一次走两步,再次相遇时,相差的步数就是环形链表的节点数。

2024-03-19 19:42:42 438

原创 Day 1.数据结构----单向链表(无头单向链表)

如何组织存储数据程序 = 数据结构 + 算法。

2024-03-18 20:33:56 632

原创 Day 11.Sqlite3的相关函数接口

功能:打开数据库文件(创建一个数据库连接)参数:filename:数据文件路径ppDb:操作数据库指针存放的空间首地址返回值:成功返回SQLITE_OK;失败返回错误码。

2024-03-18 09:11:58 358

原创 Day 10. 数据库软件、SQL语言的使用和多表联合查询

非关系型数据库:(读写速度很快、能快速响应用户的请求)

2024-03-12 19:54:58 1219

原创 Day 9. TCP并发模型、select、poll、epoll

缺点:1)创建线程会带来资源开销,能够实现。

2024-03-11 22:05:17 1103

原创 Day 8.TCP包头和HTTP

1.序号:发送端发送数据包的编号2.确认号:已经确认接收到的数据的编号(只有当ACK为1时、确认号才有用);

2024-03-08 22:31:30 761

原创 Day 8.TCP通信

socketconnectsendrecvclosesocketbindlistenacceptsendrecvclose int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);功能:发送链接请求参数:sockfd:套接字文件描述符addr:目的地址存放空间首地址addrlen:IP地址的大小返回值:成功返回0;失败返回-1;ssize_t send(int sockfd, con

2024-03-07 21:32:20 745

原创 Day 7.UDP编程、不同主机之间用网络进行通信

功能:从套接字中接受数据参数: sockfd:套接字文件描述符buf:存放数据空间首地址flags:属性 默认为0src_addr:存放IP地址信息的空间首地址addrlen:存放接收到IP地址大小空间的首地址返回值:成功返回实际接收到的字节数;失败返回-1;

2024-03-06 18:28:29 842

原创 Day 6.有名信号量(信号灯)、网络的相关概念和发端

功能:创建一组信号量参数:key:IPC对像的名字nsems:信号量的数量返回值:成功返回信号量ID失败返回-1。

2024-03-05 21:18:18 1190

原创 Day 5 .信号、消息队列、共享内存的相关概念及函数接口

功能:让进程睡眠,直到接收到信号(捕捉)才能继续向下执行。

2024-03-03 23:44:33 485

原创 Day 4.进程间的通信:管道和通信

1.管道2.信号3.消息队列4.共享内存5.信号灯6.套接字。

2024-02-28 23:05:53 2135

原创 Day 3.线程的分离属性、互斥、*死锁的和信号量

1)pthread_mutex_trylock(尝试加锁)替代 pthread_mutex_lock。多线程操作互斥锁,导致多个线程均无法向下执行的状态成为死锁状态简称死锁。CPU最小的一次不能被任务调度打断的操作称为原子操作。信号量时一种资源,可以被初始化、申请、释放、销毁。互斥锁只能解决资源竞争的问题;pshared:0 一个进程中所有线程共享。返回值:成功返回0;返回值:成功返回0;返回值:成功放回0;mutex:互斥锁空间首地址。mutex:互斥锁空间首地址。sem:信号量空间首地址。

2024-02-27 19:09:51 1022

原创 Day 2.exec函数族和线程的基本概念、相关函数接口

功能:利用进程空间去执行另外一份代码l:参数以列表形式传递v:参数以指针数组形式传递e:更新环境变量p:在系统指定目录下查找文件1)自定义一个程序(文件名为apple)2)int execl/int execv引用运行功能:获得环境变量名对应的值功能:设置环境变量的值参数:name:环境变量名value:环境变量的值overwrite:非0 覆盖0 不覆盖返回值:成功返回0;失败返回-1system功能:执行shell命令。

2024-02-26 23:58:51 993

原创 Day 1.进程的基本概念、相关命令、函数结口

程序:存放在外存中的一段数据组成的文件进程:是一个程序动态执行的过程,包括进程的创建、进程的调度、进程的消亡。

2024-02-23 21:26:53 925

原创 Day 6.文件属性和权限的获取

功能:返回1907-1-1到现在的秒数(格林威治时间)参数:tloc:存放秒数空间的首地址返回值:成功返回秒数失败返回-1。

2024-02-20 19:35:35 1144

原创 Day5.目录IO的基本函数和自定义头文件

示例 :利用read和write实现文件内容的拷贝(将src.bmp中的内容拷贝到dst.bmp文件中)

2024-02-19 23:18:24 1114

原创 Day4. 文件IO的基本概念和读写

文件的复制(单个字符)文件的拷贝(字符串)

2024-02-18 18:31:35 781

原创 如何打印菱形

改动了一下 随意输入一个基数行高 打印一个菱形 注意是基数才能形成菱形哦。本程序演示打印出如下图案(菱形)

2024-02-15 20:35:11 482

原创 Day 3. Linux高级编程之函数接口和流的定位

1)gets没有给定最多读取字符的个数,有越界风险\n\nfgets需要给定最多读取的字符个数,没有越界的风险\n\n2)gets会去掉从终端接收的/n,换成/0\n\n fgets则会保留并在末尾加上/0\n\n3)puts会在字符串末尾多打印一个/n字符\n\nfputs不会在末尾多打印/n字符。

2024-02-05 19:40:09 1163 1

原创 Day 2.几个简单的函数接口 今日份浅学

1.函数接口(1).fgetc: int fgetc(FILE *stream); 功能:从流中度区下一个字符 参数: stream:文件流指针 返回: 成功返回ASCII值 失败返回 EOF 读到文件末尾返回EOF练习:读出文件内容的行数#include <stdio.h>int main (void){ FILE *fp = NULL; char ch = 0 ; fp = fopen ("file.txt

2024-02-04 22:00:32 425 1

原创 Day 1. 学习linux高级编程之Shell命令和IO

多任务编程(进程、线程)网络编程数据库编程。

2024-02-03 19:07:32 2317 1

原创 Day 17------C语言收尾之链表的删除、位运算、预处理、宏定义

define 宏名预处理过程:文本的原样替换。

2024-02-02 21:37:20 1382

原创 结构体--共用体--枚举 之难点——链表 奋力学习嵌入式的第十六天

2.链表的插入创建一个新的节点 将节点连接起来尾插:

2024-02-01 21:55:53 1837 1

原创 学习嵌入式第十五天之结构体

1.指针概念2.指针定义3.核心用途4.指针运算5.指针一维6.指针+二维数组7.指针+函数8.指针+指针。

2024-01-31 22:29:26 1129

原创 指针操作一维字符型数组和及回调函数------努力学习嵌入式的第十四天!今天的内容让人脑瓜子嗡嗡的 着重复习

1.指针操作一维字符型数组(字符串)2.函数grtsputsstrlen1.const 能加的都加2.函数功能尽可能写的全面1.指针操作函数2.函数名就是函数入口地址3.定义一个函数指针便变量获得函数名4.使用:通过指针变量获得函数名5.用途:回调函数指针 -- 函数的指针 --- 返回的类型是函数类型的 指针指针函数 -- 指针的函数 --- 返回值为指针类型 的函数。

2024-01-30 22:52:07 1226 1

原创 努力学习嵌入式的第十三天——指针如何操作一维整型数组和一维字符数组

基类型 *变量名a.基类型:数据类型 基本数据类型 数组类型 指针类型b.* //定义时侯的*表示定义的是一个指针类型的变量c.变量名eg.//int *p,q;//1:可以用来修饰变量,修饰函数参数,修饰函数返回值,且被const修饰的东西,都受到强制保护,可以预防其它代码无意识的进行修改,从而提高了程序的健壮性2:使编译器保护那些不希望被修改的参数,防止无意代码的修改3:增强代码的可读性。

2024-01-29 19:24:03 1132

原创 学习嵌入式的第十二天-------二维数组函数的调用和指针的运算

int Sum(int a[][4],int row) //数组求和函数int sum=0;int i=0;int j=0;for (i=0;i

2024-01-27 19:07:31 1071

原创 学习嵌入式的第十一天----------一维整形型数组和字符型数组的函数调用

返回值的类型 函数名 (形参)函数体return 表达式返回值的类型:a.一般与返回结果类型一致b.不一致时,以函数定义时,”以返回值的类型为准“c.不写的话默认为int。d.有时候也不需要写返回值。

2024-01-26 23:25:30 873 1

原创 目标成为嵌入式大牛的第十天之函数的一般形式和调用

1.main函数之前2.main函数之后:要加函数声明即-----函数头 + 分号;函数声明最次要放在使用之前1.函数实现:主要是代码的逻辑2.流程图:主要是某个功能块儿3.main函数:指的是主函数 针对每个功能块4.函数调用的本质:函数调用就是一个函数调到另一个函数中实现其功能 结束之后返回到原来位置,也就是所谓的”进栈“和”出栈“。

2024-01-25 19:26:26 940

原创 学习嵌入式的第九天-------重点考察函数以及二维整型数组和二维字符数组

类型标志符 函数名(形式参数)声明部分语句部分。

2024-01-24 19:09:06 989

原创 立志成为嵌入式高手的第八天------一维字符数组

冒泡和选择哪个循环方法好?通过CPU执行代码(指令)的数量=消耗时间计算时间复杂度:O(n)计法 //大o计法思想:(再有序的数列中)找一个合适的位置,插入;就如同军训站队int n;int a[n];如上所示,想要成立int a[n]不能被初始化。二分查找(折半查找):前提:数据必须有序 所以要先排序在查找如:100005000250012506253121507537189421。

2024-01-23 22:40:55 729 1

IMG_20240210_152602.jpg

IMG_20240210_152602.jpg

2024-02-10

空空如也

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

TA关注的人

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