06 2024 档案

摘要:寄存器,本质上就是单片机内部的RAM存储器,用来暂时存放参与运算的数据和运算结果。一个寄存器由若干个锁存器或者触发器组成。比如STM32的一个寄存器有32位,则由32个触发器组成。 STM32的寄存器包括通用寄存器、控制寄存器以及外设寄存器,每种寄存器都有其特定的功能和用途。而且在技术手册占了非常多 阅读全文
posted @ 2024-06-27 23:00 Rice_rice 阅读(349) 评论(0) 推荐(2)
摘要:设备采用芯片:STM32F407ZET6 4个LED灯,网络标号分别为LED0 ,LED1,FSMC D10,FSMC D11。对应的引脚号分别为PF9,PF10,PE12,PE13。 GPIO外设基本概念 General-Purpose Input Output,通用型输入输出的,也简称I/O口, 阅读全文
posted @ 2024-06-27 20:10 Rice_rice 阅读(145) 评论(0) 推荐(0)
摘要:表格示意: 标准 逻辑电平0 逻辑电平1 是否全双工 抗干扰能力 TTL 输出低电平<0.4V, 输入低电平<=0.8V 输出高电平>2.4V,输入高电平>=2.0V 全双工 差 RS232 +3~+15V -3~-15V 全双工 强 RS485 +2V~+6V - 6V~- 2V 半双工 很强 电 阅读全文
posted @ 2024-06-27 10:02 Rice_rice 阅读(742) 评论(0) 推荐(0)
摘要:线程顺序循环执行的场景在多线程编程中并不罕见,尤其是在需要协调多个线程按特定顺序重复执行任务的情况下。以下是几个常见的例子: 生产者-消费者模型:在这种模型中,生产者线程生成数据并将其放入缓冲区,而消费者线程从缓冲区取出数据进行处理。这种情况下,生产者和消费者线程通常按顺序交替运行。 流水线处理:在 阅读全文
posted @ 2024-06-14 20:36 Rice_rice 阅读(162) 评论(0) 推荐(0)
摘要:如果把shell命令比成盖房子的砖瓦,那shell脚本就是用一块块砖瓦建起来的房子。 脚本的第一行必须写成类似下面这样的形式: #!/bin/bash #指定解释器,其他还有dash,Python 等 变量 1.变量定义,赋值,引用 变量由字母和数字组成,值由双引号包含,赋值号的两边不能有空格,例: 阅读全文
posted @ 2024-06-14 15:53 Rice_rice 阅读(181) 评论(0) 推荐(0)
摘要:目录makefile 定义变量的方式1.递归定义2 直接定义3 条件定义方式4 追加变量值5 引用并修改变量值6 overrideVPATH用法:1 VPATH vpath各种规则1.隐式规则(Implicit Rules)2.静态规则(Static Pattern Rules)3. 多目标规则(M 阅读全文
posted @ 2024-06-14 14:25 Rice_rice 阅读(175) 评论(0) 推荐(0)
摘要:JSON 简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机制造商协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成 阅读全文
posted @ 2024-06-11 20:03 Rice_rice 阅读(491) 评论(0) 推荐(1)
摘要:进程间通信方式 1.无名管道/有名管道 2.信号 3.共享队列(system V-IPC) 4.共享内存(system V-IPC) 5.信号量(system V-IPC) 6.套接字 无名管道特征 1.文件没有名字,无法使用open 2.只能用于亲缘进程间 3.半双工工作方式:读写端分开 4.写入 阅读全文
posted @ 2024-06-04 09:52 Rice_rice 阅读(159) 评论(0) 推荐(3)
摘要:进程是计算机分配资源的基本单位,线程是cpu调度的基本单位 线程基本概念: LWP:light weight process 轻量级的进程。创建线程的底层函数和进程一样,都是clone,因此线程的本质仍是进程(在linux环境下) 与进程相比,线程有独立的TCB结构体(类似于进程的PCB),但没有独 阅读全文
posted @ 2024-06-02 21:41 Rice_rice 阅读(102) 评论(0) 推荐(2)
摘要:1.线程池本质 ​ 多个线程组成的一个集合,目的为了并发执行任务,定义时是一个结构体,成员有互斥锁,条件变量,任务链队列指针,任务链队列中等待的任务个数,当前活跃的线程数量,线程ID,线程销毁标记等 2.线程池的关键技术 (1)万能函数指针(通用函数指针): *void *(*p)(void ) ( 阅读全文
posted @ 2024-06-02 19:45 Rice_rice 阅读(275) 评论(0) 推荐(0)
摘要:互斥锁,也叫互斥量。有以下几个显著的特点: 唯一性:互斥锁保证在任何给定的时间点,只有一个线程可以获得对临界区资源的访问权。如果一个线程锁定了一个互斥量,在它解除锁定之前,没有其他线程可以锁定这个互斥量。 原子性:锁定和解锁互斥锁的操作是原子的,这意味着操作系统(或pthread函数库)保证了如果一 阅读全文
posted @ 2024-06-01 23:52 Rice_rice 阅读(217) 评论(0) 推荐(0)
摘要:读写锁(rwlock)与互斥锁(Mutex Lock)相比,有如下特点: 更加细致的区分了读和写,给共享资源分别上了“读”锁和“写”锁。 “写”独占,“读”共享,“写”锁优先级更高 如果共享资源在绝大多数情况下是“读”操作,可以提高程序的并发性能。 常用的函数原型总结如下: pthread_rwlo 阅读全文
posted @ 2024-06-01 20:32 Rice_rice 阅读(177) 评论(0) 推荐(0)