- 博客(7)
- 收藏
- 关注
原创 linux进程/线程通信总结
1.进程 fork():创建进程,若返回pid,说明正在运行的是父线程; 返回0,说明正在运行的是父线程. exec:将当前进程覆盖掉,可以通过调用fork()复制启动一个子进程,并且在子进程中调用 exec系列函数替换子进程,把fork()和exec系列函数结合在一起使用就是创建一个新进程所需要的一切了。 exit(),_exit():中止进程。_exit()直接通过系统调用中止,而exit()还会检查缓冲区,将文件缓冲区的内容写回文件。 wait():暂停父进程的执行,直到有信号来到或.
2021-09-23 22:18:19 202
原创 USART、IIC、SPI、485、CAN通信概括
(1)USART——通用同步异步收发器 TxD,RxD,GND 移位寄存器发送/接收缓冲区——MCU内核 数据帧格式:起始位、数据位、奇偶校验位、停止位 波特率=串口时钟频率/(16*USARTDIV)(2)IIC——两线式串行总线 SCL,SDA 在SCL串行时钟的配合下,在SDA上逐位地串行传送每一位数据。 空闲信号——SCL和SDA都为高电平(由上拉电阻拉高) 开始信号——SCL为高电平期间,SDA由高电平到低电平的跳变 停止信号——SCL为高电平期间,SDA
2021-09-12 14:20:44 1071
原创 多线程的同步
**有4个线程和1个公共的字符数组。线程1的功能就是向数组输出A,线程2的功能就是向字符输出B,线程3的功能就是向数组输出C,线程4的功能就是向数组输出D。 要求按顺序向数组赋值ABCDABCDABCD,ABCD的个数由输入的参数指定。**输入:10输出:ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD#include <unistd.h>#include <fcntl.h>#include <stdio.h>#inc.
2021-08-30 15:16:49 128
原创 ROM、RAM(DRAM、SRAM)和FLASH(NOR FLASH、NAND FLASH)总结——重点概括版
RAM ——随机存取存储器 “随机”表示存储器中的数据被读取或写入时,所需的时间与数据所在的位置无关 RAM掉电数据丢失,分为SRAM(静态随机存储存取器)和DRAM(动态随机存储存取器)。 SRAM存储数据的时间相对较长
2021-08-10 11:12:44 626
原创 存储类关键字总结(auto、static、register、extern、volatile、restrict)
1. auto:修饰局部变量,表示这个局部变量是自动局部变量,自动局部变量分配在栈上。2. static:“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。static用于修饰静态变量(静态局部变量、静态全局变量)。 局部变量: 作用域——代码块。代码块可以理解为一对大括号{}括起来的部分。代码块不等于函数,因为if while for都有{}。 生命周期——从程序开始运行到终止。 全局变量: 作用域—— .c 文件中该函数或全局变量的定义位置开始到文
2021-08-07 23:28:05 825
原创 2021-07-14
**条件偏译#ifdef、#ifndif、#if的区别**编程中的部分内容希望只在满足一定条件的情况下才进行编译,这就是"条件编译"条件编译的三种形式: (1)#ifdef #ifdef 标识符程序段1#else程序段2#endif????当所指定的标识符已经被#define 命令定义过,则在程序编译阶段只编译程序段1,否则编译程序段2 。其中#else 程序段2 部分可以没有。即#ifdef 标识符程序段1#endif (2)#ifndef #ifndef 标识符
2021-07-14 15:40:21 104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人