软件
文章平均质量分 82
xiaolz88
在嵌入式大坑里摸爬滚打的小白
展开
-
Linux IO多路复用--select
一.IO多路复用的目的 在linux中IO多路复用的一个目的就是让应用程序在一个进程同时检查多个文件描述符,看这些文件描述符是否准备好了执行IO操作(看IO系统调用是否可以非阻塞地执行)。实际上这些操作都不会执行实际的IO操作,他们只是告诉我们某个文件描述符已经处于就绪状态了,我们需要调用其他的接口来完成实际的IO操作。 在linux中为我们提供了三种技术:select,poll,epoll; 1.1 三种技术的优缺点: 优点:select 和 poll存在时间比较长,具有较好的可移植性; 缺点:在同时原创 2021-06-30 23:37:35 · 326 阅读 · 0 评论 -
linux同步机制_互斥量(mutex)
一.linux中线程间通信同步机制方法1——互斥量(mutex) 1.为啥要有互斥量? 在linux编程享受多线程带来便利的同时,也需要注意多线程在访问一段共享资源的代码片段(术语:临界区),这段代码的执行不应该被其他线程中断,要保证这段代码的执行是原子操作。 其中linux中的互斥量就可以保证多线程对共享资源访问的时的原子操作。当然还有其他的方法,比如:条件变量。本文我们只介绍互斥量(mutex). 二.互斥量的使用方法 2.1.静态分配的互斥量且使用默认属性 初始化直接使用PTHREAD_MUTEX_I原创 2021-06-22 01:28:07 · 452 阅读 · 0 评论 -
基于C语言实现的一个ftp_client demo
一 .FTP协议 FTP全称:文件传输协议(File Transfer Protocol), 不同于普通的C/S通信方式,ftp协议是建立两个链路去传输数据和控制消息。 有两种工作模式:主动连接模式(PORT)和被动连接模式(PASV),这两种工作方式的描述都是从服务器角度出发描述的。简单来说就是:服务器主动连接客户端,这就是主动模式;如果是客户端主动去连接服务器就是被动模式。 主动模式:客户端随机打开一个大于1024的端口N向服务器命令端口(21),发起连接,同时开放N+1端口监听,并向服务器发出“por原创 2021-06-20 22:27:40 · 861 阅读 · 3 评论 -
STM32 软件模拟SPI时序驱动NRF24L01
其实stm32本身的硬件SPI也很好用,但是还是想用软件来模拟一下PSI的时序。 SPI 是一种高速的,全双工,同步串行的通信总线。SPI通信方式相当于是一个环形结构,由CSN、MISO、MOSI、SCLK四线组成,主要是在SCLK时钟线的驱动下,进行数据转换。 接下来直接上程序配置: 使用32模拟SPI时序的IO口配置,应该注意的是MISO应该选择模拟输入方式GPIO_Mode_原创 2017-07-11 10:07:39 · 11769 阅读 · 3 评论