自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux-12月一些Dome

1.替换文本中关键字#include <stdlib.h>#include <stdio.h>int main(){ system("cat /mnt/hgfs/share/pi/1.txt"); system("sed -i 's#qwe.hex#/home/pi/4G/qwe.hex#g' /mnt/hgfs/share/pi/1.txt"); ...

2019-12-18 10:36:47 133

原创 Shell学习-初学遇到的问题

1.执行shell命令提示 /bin/sh^M: bad interpreter: No such file or directory出现这个提示一般是因为这个文件是在windows环境创建的, 格式与Linux不兼容。使用以下方法进行验证:vim Down.sh不要对文件内容进行编辑, 使用如下命令::set ff?如果出现 fileforma=dos 那么就基本可以确定是这个问...

2019-12-11 15:27:39 182 1

原创 树莓派-SIM7600CE 4G部署(PPP拨号方式)

# 注意使用root账户操作# 开始拨号pppd call dial# 注意使用root账户操作,不要关闭拨号成功的终端,新开一个终端操作# 查看网口及其ipifconfig -a# 为避免DNS解析不了,添加以下默认路由route add -net 0.0.0.0 ppp0# 通过ppp0上网测试ping -I ppp0 www.baidu.com# 注意使用root...

2019-12-10 13:07:07 2213

原创 树莓派-

无封装#include <stdio.h> #include <unistd.h> #include <fcntl.h> #include <wiringPi.h>#include <wiringPiI2C.h>#define DOOR1 "/home/pi/1.txt"#define DOOR2 "/home/...

2019-11-20 16:05:55 187

原创 STM32F103学习-新建工程模板(基于固件库)

新建工程模板(基于固件库)参考:https://www.bilibili.com/video/av8938442?p=12所需文件:https://www.lanzous.com/i7bcdyh1.在建立工程之前,建立一个文件夹为Template。2)点击MDK的菜单:Project->New Uvision Project,然后将目录定位到刚才建立的文件夹Template之下,在这...

2019-11-12 17:11:24 2745

原创 上海面试问题整理

1.#define A (100)为什么加括号宏是在代码中不加任何验证的直接替代,当宏中包含运算符时要在最外层加括号,不然可能会出错为什么不加分号#define语句属于编译预处理,它不属于c语言语句。c语言规定每一条语句后面要加上分号,但编译预处理不是c语言语句,所以不必遵守此规定。2.封装一个函数fun(),使a=a+10,b=b+10。fun(int *a,int *b){ *...

2019-11-01 09:37:16 218

原创 嵌入式软件工程师笔试题(二)

1. 关键字volatile在编译时有什么含义?并给出三个不同使用场景的例子(可以伪代码或者文字描述)。用volatile关键字定义变量,防止编译器对代码进行优化而被省略,切立即输出原值。建议使用volatile变量的场所:(1) 并行设备的硬件寄存器(2) 一个中断服务子程序中会访问到的非自动变量(全局变量)(3) 多线程应用中被几个任务共享的变量2. C语言中static关键字的具...

2019-07-03 23:54:27 423

原创 嵌入式软件工程师笔试题(一)

1. 头文件 ifndef /define /endif的作用。防止该头文件被重复引用。2. 定义一个宏实现max,找出a,b中的最大值#define max (a<b)?(a:b)3.1 某32位系统下, C++程序,请计算sizeof 的值在这里插入代码片void main{char str[] = “xmgcc”;void *p = malloc(100);char ...

2019-07-02 21:51:30 946

原创 嵌入式软件工程师面试问题(一)

1. 问你简历的项目,例如服务器客户端怎么通信的2. Tcp/ip协议,TCP UDP 区别3. 1 Socket三次握手、画出来第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)第二次握手:服务器收到syn包,必须确认客户的SYN(...

2019-06-29 16:42:57 3347 2

原创 多线程--待补充

多线程–待补充

2019-06-23 18:58:58 83

原创 Linux学习-通信-进程通信-信号量

信号量1.概念用于实现进程间的互斥与同步,而不是用于存储进程间通信数据。2.特点1.信号量用于进程间同步,若要在进程间传递数据需要结合共享内存。2.信号量基于操作系统的 PV 操作,程序对信号量的操作都是原子操作。3.每次对信号量的 PV 操作不仅限于对信号量值加 1 或减 1,而且可以加减任意正整数。4.支持信号量组3.原型1.创建int semget(key_t key,i...

2019-06-19 20:33:08 156

原创 Linux学习-通信-进程通信-信号【高级】

信号接收函数信号【入门】虽然发送和接收到了信号,但是我们可以让信号再携带一些数据,这样我们需要另外的函数在信号传递的过程中,携带一些数据。1. 原型: #include <signal.h>int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact)[参数int signum...

2019-06-16 16:18:24 119

原创 Linux学习-通信-进程通信-信号【入门】

信号1.概述每个信号都有一个名字和编号,这些名字都以“SIG”开头,例如“SIGIO ”、“SIGCHLD”等等。信号定义在signal.h头文件中,信号名都定义为正整数。具体的信号名称可以使用kill -l来查看信号的名字以及序号,信号是从1开始编号的,不存在0号信号。kill对于信号0又特殊的应用。2.原型#include <signal.h>typedef voi...

2019-06-14 14:07:05 138

原创 Linux学习-git的一些基础使用

1. 生成公钥ssh-keygen -t rsa输完密码后敲回车就会提示公钥建好。2. 查看公钥id_rsa : 私钥id_rsa.pub : 公钥3. 公钥绑定码云登录码云,右上角头像–设置–SSH公钥,将生成的公钥添加进去。右上角加号–新建仓库。输入相应信息。进入新建的仓库后。4. 将码云中仓库克隆到本地5. 提交本地代码到码云之后可在仓库中写我们的代码,...

2019-06-14 09:37:39 173

原创 Linux学习-通信-进程通信-共享内存

共享内存共享内存(Shared Memory),指两个或多个进程共享一个给定的存储区。1、特点共享内存是最快的一种 IPC,因为进程是直接对内存进行存取。因为多个进程可以同时操作,所以需要进行同步。信号量+共享内存通常结合在一起使用,信号量用来同步对共享内存的访问。2.原型2.1shmget ( ):创建共享内存int shmget(key_t key, size_t siz...

2019-06-13 11:17:18 117

原创 Linux学习-通信-进程通信-消息队列

消息队列消息队列,是消息的链接表,存放在内核中。一个消息队列由一个标识符(即队列ID)来标识。1、特点消息队列是面向记录的,其中的消息具有特定的格式以及特定的优先级。消息队列独立于发送与接收进程。进程终止时,消息队列及其内容并不会被删除。消息队列可以实现消息的随机查询,消息不一定要以先进先出的次序读取,也可以按消息的类型读取。2、原型2.1//获取keykey_t ftok( c...

2019-06-12 17:03:28 132

原创 Linux学习-通信-进程通信-命名管道

FIFOFIFO,也称为命名管道,它是一种文件类型。1、特点FIFO可以在无关的进程之间交换数据,与无名管道不同。FIFO有路径名与之相关联,它以一种特殊设备文件形式存在于文件系统中。2、原型#include <sys/stat.h>int mkfifo(const char *pathname, mode_t mode);// 返回值:成功返回0,出错返回-1co...

2019-06-11 18:54:53 170

原创 Linux学习-通信-进程通信-无名管道

进程间通信(IPC)介绍进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。一、管道管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。1、特点:它...

2019-06-11 15:11:43 113

原创 Linux学习-通信-FTP通信

待补充

2019-06-11 14:16:45 138

原创 Linux学习-通信-Socket封装的优化

本次笔记主要是对上节代码的优化。上节代码:Linux学习-通信-Socket封装如果我们客户端有多次消息进行发送,而有一个进程一直在占用,上面的代码就满足不了我们的需求。比如一直有个while(1) 在占用。#include<stdio.h>#include"mySocketAPI.h"int main(char *argc,char **argv){ int s_fd;...

2019-06-02 17:11:06 172

原创 Linux学习-通信-Socket封装

1. 进行头文件的编写将server.c中的socket函数和client.c中的socket函数封装进去头文件,这样就可以直接在服务端或客户端直接进行调用,不需要每次都编写socket函数。1.1 对server.c进行修改。原代码可参照上一篇笔记——Linux学习-通信-Socket编写#include <stdio.h>#include <sys/types.h&...

2019-06-02 16:09:55 319

原创 Linux学习-通信-Socket编写

Serve端代码#include <stdio.h>#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>//#include <linux/...

2019-06-02 14:22:35 134

原创 Linux学习-头文件的创建,链接和动态库,静态库

创建 utils.c 文件 #include "utils.h" int add(int a,int b) { return a+b; }创建 utils.h 文件#ifndef __UTILS__H_ //查找是否有此名字的头文件#define __UTILS__H_//创建此名字的头文件int add(int a,int b);#en...

2019-06-01 15:15:20 1040

原创 Linux学习-通信-字节序

字节序1. 概念字节在电脑中存放时的序列与输入(输出)时的序列是先到的在前还是后到的在前。2. 常见字节序Little endian(小端字节序):将低序字节存储在起始地址Big endian(大端字节序):将高序字节存储在起始地址网络字节序:相当于大端字节序3. 大小端储存实例假设一个32位 unsigned int型数据0x12 34 56 78,大小端8位存储方式如下:大端...

2019-05-30 10:49:17 302

空空如也

空空如也

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

TA关注的人

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