自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 S3C2440开发板点亮LED灯+PWM定时器

控制LED的引脚通常配置为输出模式。

2024-09-13 09:43:44 559

原创 ARM汇编

数据和指令类型数据和指令类型ARM采用的是32位架构ARM约定Byte :8 bitsHalfword :8byte)(Cortex-A处理器)大部分ARM core提供:ARM 指令集(32-bitThumb 指令集(16-bit。

2024-09-09 19:56:21 852

原创 ARM体系结构

概念:在ARM处理器中,RAM(随机存取存储器)是一种用于临时存储数据和程序的易失性存储器。性能:1.RAM的访问速度通常比ROM和Flash快,适合需要快速数据处理的应用。2.在断电情况下,数据丢失。RAMSRAMDRAMSDRAMDDR(n)静态动态同步概念:在ARM处理器中,ROM(只读存储器)是一种用于存储固件和系统启动代码的非易失性存储器。性能:1.ROM的读取速度通常较快,但写入和擦除操作的速度较慢,尤其是对于EPROM和EEPROM。

2024-09-07 14:50:10 1297

原创 数据结构——双向链表

【代码】数据结构——双向链表。

2024-08-29 21:03:37 259

原创 单向链表的复杂操作

头文件及单向链表创建、插入、删除等见。

2024-08-28 19:16:33 145

原创 单向链表的基本操作

【代码】单向链表的基本操作。

2024-08-28 18:39:45 212

原创 数据结构(顺序表、链式表)

【代码】数据结构(顺序表、链式表)

2024-08-27 21:42:40 322

原创 Sqlite3数据库

存放数据,掉电数据不会丢失,软件的配置及想要持续保存的数据放入文件中。数据库文件 -> 表 -> 列1 列2 列3。数据库编程语言主要对表完成:增、删、改、查相关功能。:大批量数据存储和管理时使用。

2024-08-22 20:44:14 125

原创 嵌入式学习日记---DAY27(网络TCP并发服务器)

2024-08-20 22:27:23 70

原创 嵌入式学习日记---DAY26(网络TPC编程)

##注意:UDPSOCK_DGRAM, 0);——数据报套接字TCP, 0);——流式套接字。

2024-08-16 17:15:48 182

原创 嵌入式学习日记---DAY25(网络)

2024-08-15 23:14:26 115

原创 嵌入式学习日记---DAY24(消息队列、共享内存、信号灯)

IPC对象——内存文件ipcs ——查看所有ipc对象的信息ipcrm -q/m/s 消息队列ID/共享内存ID/信号灯ID。

2024-08-14 19:52:28 213

原创 嵌入式学习日记---DAY23(信号)

2024-08-11 23:09:53 89

原创 嵌入式学习日记---DAY22(管道)

一、无名管道二、有名管道

2024-08-09 17:46:55 127

原创 嵌入式学习日记---DAY21(线程)

资源数 == 0 申请操作会阻塞,直到资源数不为0,申请得到资源后继续向下执行。原子操作:最小的一次CPU操作,在执行原子操作时不会切换调度任务。互斥锁不能同步,多个任务依然保持异步执行,但是可以解决资源竞争。申请:资源数 > 0 申请操作让资源数-1。释放:资源数+1 释放操作让资源数+1。

2024-08-08 17:52:35 232

原创 嵌入式学习日记---DAY20(线程)

同一软件下的多任务考虑用多线程。不同软件下的多任务考虑用多进程。v:参数以指针数组形式传递。p:在系统目录下查找文件。l:参数以列表形式传递。三、多线程与多进程的区别。创建线程,代码编译时使用。四、线程相关的函数接口。

2024-08-07 20:21:43 149

原创 嵌入式学习日记---DAY19(进程)

WIFSIGNALED(wstatus):判断子进程是否被信号打断结束。WEXITSTATUS(wstatus):获取子进程正常结束的状态码。WTERMSIG(wstatus):获取子进程被信号打断结束的状态码。如果子进程没结束,wait会阻塞直到子进程结束回收子进程空间。WIFEXITED(wstatus):判断子进程是否正常结束。wait具有阻塞功能,如果子进程先结束,wait会不阻塞直接回收。

2024-08-06 21:40:18 201

原创 嵌入式学习日记---DAY18(目录文件IO+链接文件IO)

ln -s 要链接向的文件名 软链接文件名。通过在磁盘中存放的inode节点进行链接。删除文件链接关系断开。ln 要链接的文件名 硬链接文件名。

2024-08-02 19:38:37 169

原创 嵌入式学习日记---DAY17(文件IO函数接口+Linux系统中时间的获取)

标准IO中"r"、"r+"、"w"、"w+"、"a"、"a+"对应的文件IO的打开形式。标准IO中使用 fseek函数。文件IO中使用 lseek函数。flags——打开方式。

2024-08-01 19:27:13 154

原创 嵌入式学习日记---DAY16(补充IO函数接口)

如下述代码所述fgets上下两行代码等价于gets。fgets不会去掉用户输入的\n字符。gets会去掉用户输入\n字符。puts会多打印一个\n字符。

2024-07-31 18:49:51 201

原创 嵌入式学习日记---DAY15(Linux基础知识+shell+IO)

w 只写 —— 如果文件存在则清0,只写打开 —— 如果文件不存在则创建。w+ 写读 —— 如果文件存在则清0,读写打开 —— 如果文件不存在则创建。a 追加只写 —— 如果文件存在则追加只写打开 —— 如果文件不存在则创建。a+ 追加读写 —— 如果文件存在则追加读写打开 —— 如果文件不存在则创建。r+ 读写 —— 如果文件存在则读写打开 —— 如果文件不存在报错。perror 基于stderr实现。Linux系统文件分类。

2024-07-30 19:26:43 317

原创 嵌入式学习日记---DAY14(内存管理 + 链表)

2024-07-29 00:16:17 111

原创 嵌入式学习日记---DAY13(结构体+共用体+枚举+位运算)

括号 > 单目 > 双目 > 三目 > 赋值 > 逗号。算数 > 移位 > 关系 > 位运算 > 逻辑。

2024-07-26 22:51:58 133

原创 嵌入式学习日记---DAY12(函数与指针+结构体)

补充:C语言中:指针数组 传参 二级指针和长度二维数组 传参 数组指针和长度。

2024-07-25 18:13:16 249

原创 嵌入式学习日记---DAY11

定义一个指针变量p,占8个字节空间, 指向一个int类型5个元素的数组的指针,指向20个字节空间。定义数组a,占40个字节空间,共有5个元素,每个元素为int*型指针。一维数组 int a[5];1.sizeof运算时。——在C语言中二维数组传参传数组指针和长度。把a理解为int *型。,数组的每个元素是指针。

2024-07-24 17:55:43 129

原创 嵌入式学习日记---DAY11

指针变量p的值不能变, 但可以利用指针修改指向空间中的值, 一定要对指针初始化。, 指针变量p的值不能变,也不能利用*p改变指向空间中的值, 一定要对指针初始化。,不能修改指向空间中的值。const修饰p和*p。

2024-07-23 18:27:20 157

原创 嵌入式学习日记---DAY10

空指针—— NULL <==> '\0' <==> 0。32位操作系统中 所有类型指针变量占4个字节。64位操作系统中 所有类型指针变量占8个字节。只能对变量&,不能对常量或者表达式。<==> 先 *p;<==> 先*p;值:将等号右边的值赋值给指针指向的空间。——*只能搭配指针类型使用。值:获得指针指向空间中的值。&和*同时出现可以抵消掉。

2024-07-22 19:02:17 345

原创 嵌入式学习日记---DAY9

带参宏是在程序编译阶段加载到程序中 ———— 函数是在程序运行阶段加载到程序中。带参宏会使代码体积增大 —————————— 函数不会使代码体积增大。带参宏没有参数类型、返回值、传参的概念 —— 函数有参数类型、返回值、传参的概念。中值传递:实参将值传递给形参,形参是实参的副本,对形参做的操作,实参不会受影响。带参宏执行效率高 ————————————— 函数执行效率低。函数体内部想使用函数体外部变量值的时候可以使用值传递。带参宏可能改变运算符的优先级,记得加括号。常用于要求不用循环语句时。

2024-07-21 01:44:01 187

原创 嵌入式学习日记---DAY8

函数名:和变量名要求保持一致函数类型:函数运行结果的类型###注意: 如果返回值类型与函数类型不一致,会将返回值强制类型转换成函数类型返回不写函数类型默认为int类型如果没有返回值,函数类型应该为void类型,return后面什么都不写。

2024-07-19 18:38:28 396

原创 嵌入式学习日记---DAY7

有序性:数组存放数据顺序有序 将二维数组逐行从左到右存储。—— 获得字符串的长度(从字符串开头到\0中间元素的个数)在C语言中没有字符串类型,只能通过字符型数组存放字符串。字符型数组存放字符串,必须能够存放下末尾的\0字符。连续性:数组的存储空间是连续的。连续性:数组存放空间连续。有序性:按照顺序依次存放。:是由N-1维数组构成的一维数组。

2024-07-18 19:29:13 126

原创 嵌入式学习日记---DAY6

代码中尽量不要使用goto,会破坏程序的逻辑性、可读性。: 只能在循环或者switch中使用,下标访问:可以是常量、变量、或表达式;出错处理使用goto。定义数组时对数组元素赋值称为初始化,单一性:数组元素只能是同一种数据类型。: 在函数中使用,让当前函数结束。元素个数必须为常量或常量表达式;连续性:数组元素所占空间是连续的。有序性:数组元素的存放顺序有序。相同类型有限个元素的集合。: 只能在循环中使用,

2024-07-17 19:03:56 288

原创 嵌入式学习日记---DAY5

3.switch只与case后面的值比一次,然后顺序向下执行直到break或者switch结束。1.switch后面的表示式类型必须为整形,不能为浮点数类型。2.case后面必须为常量,不允许是变量或表达式。C:每轮循环执行结束后会执行的代码。D:满足条件执行的循环体内部代码。A:for循环前执行一次。可有可没有,根据具体情况使用;注意辨别阶梯分支和嵌套分支。未知循环次数使用while。已知循环次数使用for。

2024-07-16 19:32:44 229

原创 嵌入式学习日记---DAY4

5.scanf中只有%c可以接收' '和'\n'字符,其余均认为是数据结束的标志。4.scanf中' '和'\n'字符表示数据末尾。判断逻辑表达式,成立则执行表达式1,否则执行表达式2。2.gets能够接收带' '的字符串。2.scanf中不要加入\n字符。的三种特殊运算符:单目运算符、三目运算符、赋值运算符。要求1.scanf中内容写的越短越好。——1.gets会去掉从终端接收的\n字符。表达式1:表达式2;——打印时会自动打印一个\n换行符。1.判断逻辑时使用分支语句。—— 格式化输入函数。

2024-07-15 18:16:03 182

原创 嵌入式学习日记---DAY3

赋值运算符中左值可以是变量,不能是常量或表达式;右值可以为常量、变量、表达式。1变量:程序在运行过程中值可以发生改变的量。2.表达式:由常量和变量所组成的式子。-- 自减运算符。++ 自增运算符。设置变量名的时候一定注意。

2024-07-13 20:17:37 212

原创 嵌入式学习日记---DAY2

1.加入打印解决问题 e.g. printf("=============");warning:可以生成可执行程序,但程序中有可能出现错误。c 继续执行到下一个断点。十进制数除以进制数得到的余数逆序排列。对应位 * 对应位的权值再求和。基本数据类型:整数类型、浮点数类型、字符型、缺省类型 、逻辑类型。计算字节数,注意字符常量中进制占1字节,字符串常量中\0占1字节。1.编译代码时必须加-g选项,允许GDB调试。C语言在不同的平台上运行结果是不一样的!

2024-07-12 20:43:04 283

空空如也

空空如也

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

TA关注的人

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