自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 26、江科大stm32视频学习笔记——I2C读写W25Q64

CS(片选):PA4 DO(从机输出):PA6。CLK(时钟):PA5 DI(从机输入):PA7。1、SPI.c(初始化寄存器,实现读取一个字节的功能)3、本次软件模拟和硬件模拟使用同一个电路图,方便切换。2、硬件模拟的SPI:要按以下方式连接。1、软件模拟的SPI:线可以任意接。二、软件SPI读写W25Q64。

2024-01-21 22:20:14 823 1

原创 extern/头文件包含,实现一个函数被两个文件共用

extern/头文件包含,实现一个函数被两个文件共用

2023-08-01 12:55:38 589

原创 (4)Makefile:遍历子目录的makefile,单线程依次执行make

遍历子目录的makefile,单线程依次执行make

2023-07-30 21:51:53 768

原创 (2)Makefile:库函数的使用例子

库函数的使用例子

2023-07-30 16:06:00 164

原创 (1)makefile:预处理、编译、汇编、链接、库文件

预处理、编译、汇编、链接、库文件

2023-07-30 15:05:49 217

原创 (3)Makefie:C语言编译标志、通配符、CFLAGS、LDFLAGS、LDLIBS

Makefie:C语言编译标志、通配符、CFLAGS、LDFLAGS、LDLIBS、-Wl,--start-group 和 -Wl,--end-group、$(LDLIBS_$@)、$^和$@的使用、句子前面加@:不输出到终端、目标文件依赖于头文件、%_output的使用、%_only

2023-07-30 13:59:05 1103

原创 回调函数的使用

【代码】回调函数的使用。

2023-07-26 10:05:57 84

原创 AT指令介绍

1、用途:用来控制TE(TerminalEquipment)和MT(Mobile Terminal)之间交互的规则,如下图所示。在GSM网络中,用户可以通过AT命令进行呼叫、短信、电话本、数据业务、传真等方面的控制。(AT指令只关注错误的情况,正确的情况不需要额外的操作)执行AT命令(不需要参数,例如查询版本号等)AT+CMEE=1表示错误时返回具体错误信息。AT+CMEE=0表示返回ERROR。显示AT命令设置的合法参数值有哪些。查询当前AT命令设置的属性值。2、AT指令的4种命令。

2023-07-23 23:47:58 893

原创 shell——正则表达式、grep、sed、awk的使用

正则表达式、grep、sed、awk的使用

2023-07-21 00:58:38 252

原创 linux的文件结构——与网络接口设备相关的信息和设置

与网络接口设备相关的信息和设置

2023-07-21 00:07:09 678

原创 git的使用

git config --global user.email [email protected](邮箱)Git init newrepo(newrepo下会出现一个.git的目录,指定目录作仓库)①git reset --soft HEAD^1(回复最近提交的那个文件到缓存区)以上命令是把.c结尾的和readme文件提交到仓库中。比较文件的不同,即暂存区和工作区的差异。清理工作目录中未被版本控制的文件和目录。二、仓库创建、拷贝、提交、配置。将文件从暂存区和工作区中删除。(提交缓存区到本地仓库)

2023-07-20 00:27:08 90

原创 shell合成升级包的流程

2、检查是否存在一个名为$unshname ,如果存在,则执行该文件以卸载旧版本的软件。文件的第一行之前,并将修改后的内容保存回${name}/$configname中。3、将压缩包当中的安装文件提取到临时文件中。,如果不存在,则创建该路径。5、安装库文件和工具文件。所以,这个命令的作用是将。1、定义一些名称和变量。4、检查是否存在路径。

2023-07-18 01:30:38 280

原创 1、shell脚本的基本知识——变量、字符串、循环

变量和赋值、引号、管道、重定向、字符串操作、测试语句、if、case、for循环语句、ifeq

2023-07-17 00:16:41 516

原创 1、tcpdump——网络数据包捕获和分析的工具

tcpdump抓取报文

2023-07-13 23:49:17 2147

原创 1、shell语言

5、管道:ls -l | wc当中,ls -l收集当前目录下文件的信息,然后送给管道,wc从管道读出来,计算出行数、单词个数和总字符。ls -l 1>a.txt #ls -l命令原本要输出1号描述符(即在命令行中输出变成保存在a.txt中)赋值号两边没有空格,最好有双引号(词组必须有双引号),变量跟C语言规则类似。双引号(将单词组括起来,不然第二个单词会被误为命令)(“ ”)‘反引号(` `):若有该符号,则date表示时间,没有则为单词。6、一般0:标准输入,1:标准输出,2:标准出错。

2023-07-13 01:11:29 217

原创 05 通信协议

•I2C:双向、两线、串行、多主控接口标准。速率不快,半双工,同步接口,具有总线仲裁机制,非常适合器件间近距离经常性数据通信,可实现设备组网;UART:通用异步串行口,速率不快,可全双工,结构上一般由波特率产生器、UART发送器、UART接收器组成,硬件上两线,一收一发;•SPI:高速同步串行口,高速,可全双工,收发独立,同步接口,可实现多个SPI设备互联,硬件3~4线;•USB通用串行总线,高速,半双工,由主机、hub、设备组成。设备可以与下级hub相连构成星型结构。

2023-04-05 22:20:35 156 1

原创 04、C语言(杂)

内存泄漏是指向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。没有为str分配内存空间,将会发生异常问题出在将一个字符串复制进一个字符变量指针所指地址。内存溢出就是要求分配的内存大小超出了定义时所预设的内存大小,系统不能满足需求,于是产生溢出。3、ISR应该短且有效率,在ISR中做浮点运算不明智。6、*p++和*(p)++的区别。1、ISR不能有参数。

2023-04-05 21:04:10 124

原创 03 网络编程

创建通信用文件描述符(socket)-->设置端口号和IP地址(为绑定做准备)-->绑定(bind)-->接受和发送消息(sendto && recvfrom)-->关闭文件(close):创建通信用文件描述符(socket)-->设置端口号和IP地址-->接受与发送消息(sendto && recvfrom)-->关闭文件。:创建通信用文件描述符(socket)-->设置端口号和IP地址-->发起连接请求(connect)-->-->发送与接收消息(send/recv)-->关闭文件(close)

2023-04-05 20:57:09 84

原创 02、宏定义、数组指针、关键字、存储空间

C语言

2023-04-03 20:29:32 549

原创 6、网络编程——非阻塞

网络编程——非阻塞

2023-04-02 17:08:21 1142

原创 5、网络编程——TCP的相关应用

用TCP 实现一下两个程序互相聊天、多个用户与服务器聊天

2023-04-02 15:57:19 170

原创 4、网络编程——TCP相关的API及其实现的步骤

tcp的介绍、相关API、应用例程序

2023-04-01 22:31:26 577

原创 3、网络编程——用UDP实现线程程序之间相互聊天

多线程、udp、实现两个程序相互聊天

2023-04-01 22:10:32 343

原创 2、网络编程——UDP

用户数据报协议,是一种不可靠无连接的协议,在数据发送前,不需要提前建立连接,可以更高效传输数据(发邮件)(2)在收到数据,给出应答比较困难的网络中。5、recvfrom(从UDP中接收数据)(4)发送信件(内容与地址信息一起发送)4、sendto( 发送数据到UDP)(3)将地址与心想绑定(bind)(4)坐等来信(recvfrom)(1)创建一个邮箱(socket)(1)创建邮箱(socket)2、bind(绑定地址)(1)发送小尺寸数据。1、服务器(接收端)2、客户端(发送端)(2)设置发送的地址。

2023-04-01 21:11:19 127

原创 16、操作系统——条件变量

当有多个线程需要获得同一个资源进行操作的时候,如果当前资源量未空, 那么就需要让所有来 获取资源的线程进入一个条件变量的等待队列中进行等待,等待资源数据到达, 当资源数据到达的时 候条件变量则可以选择从队列中唤醒线程进行读取资源(唤醒可以唤醒一个或多个)。

2023-03-31 22:16:00 267

原创 15、操作系统——读写锁

操作系统——读写锁

2023-03-31 21:51:37 318

原创 14、操作系统——互斥锁

互斥锁

2023-03-31 16:51:17 372

原创 13、操作系统——posix信号量(无名信号量)

因为有名信号量的线程共享一个内存空间,若要解决进程内部的线程间的同步互斥,需要使用更加轻量化、基于内存的(不再任何文件系统内部)无名信号量,

2023-03-31 16:27:08 303

原创 12、操作系统——posix信号量(1)(有名信号量)

posix信号量(有名信号量)

2023-03-31 14:54:35 208

原创 11、操作系统——线程的属性(3)(压栈、弹栈)

由于线程任何时刻都可能有互斥锁、信号量等资源,一旦被取消很有可能导致别的线程出现死锁,因此如果一条线程的确可能被取消,在取消之前应该用以下的API为可能出现的取消请求注册“处理例程”,让这些例程自动释放持有的资源。

2023-03-31 14:25:20 150

原创 10、操作系统——线程的相关属性(2)

线程调度、线程栈警戒区、线程取消

2023-03-28 20:04:45 428

原创 9、操作系统——线程的相关属性(1)(线程分离和结合)

线程的属性

2023-03-28 11:08:14 307

原创 8、操作系统——线程(最小的执行单位)

了解线程并且创建一个简单的线程

2023-03-26 22:27:08 1079

原创 7、操作系统——进程间通信(5)(信号量)

操作系统——进程间通信(5)(信号量)

2023-03-26 21:46:32 382

原创 6、操作系统——进程间通信(4)(system V-IPC:共享内存)

system V-IPC:共享内存

2023-03-26 16:45:54 370

原创 5、操作系统——进程间通信(3)(system V-IPC:消息队列)

操作系统——进程间通信(3)(system V-IPC:消息队列)

2023-03-26 16:06:06 431

原创 4、操作系统——进程间通信(2)(system V-IPC介绍)

4、操作系统——进程间通信(2)(system V-IPC介绍)

2023-03-26 12:10:37 642

原创 3、操作系统——进程间通信(1)(无名管道(PIPE)和有名管道(FIFO))

操作系统——进程间通信(1)(无名管道(PIPE)和有名管道(FIFO))

2023-03-24 22:32:54 564

原创 2、操作系统——进程转载其他程序、退出、等待

exec函数执行后进程的内存空间有何变化?——会被新的可执行文件重新初始化。exec函数执行后线程后面的语句是不执行的。子进程退出时退出值得取值范围是多少?0- 255 占用了8位一个字节。

2023-03-24 20:31:09 284

原创 1、操作系统——进程

系统编程

2023-03-23 22:16:55 293

空空如也

空空如也

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

TA关注的人

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