Linux任务前后台的切换 命令

原文 Shell支持作用控制,有以下命令实现前后台切换:   1. command & 让进程在后台运行   2. jobs 查看后台运行的进程   3. fg %n 让后台运行的进程n到前台来   4. bg %n 让进程n到后台去   5. kill %n ...

2018-09-04 22:21:06

阅读数 52

评论数 0

linux设备树详解

原文 在Linux3.x版本后,arch/arm/plat-xxx和arch/arm/mach-xxx中,描述板级细节的代码(比如platform_device、i2c_board_info等)被大量取消,取而代之的是设备树,其目录位于arch/arm/boot/dts 1.设备树的组成 1...

2018-09-01 09:17:23

阅读数 914

评论数 0

linux 驱动调试问题记录

1、非root用户文件操作权限不够 文件属性 rwx rwx rwx — — — sudo chmod 777 /dev/xxx 其中 R = 4, W = 2, X = 1 详细https://www.cnblogs.com/ccEmily/p/5672749.html 2、控制...

2018-08-31 21:36:09

阅读数 98

评论数 0

进程的挂起、阻塞和睡眠

原文 要说挂起、阻塞、睡眠难免让人想到进程生命周期中的阻塞态或者等待状态,而挂起和睡眠却没有出现在进程生命周期中,说明这三个其实在本质上区别并不那么大,但是既然称呼不同,应该就有不同的道理。 先说阻塞,既然它能出现在进程生命周期,必然是每个进程都会经历的一个阶段,众所周知,进程在运行过程中必然...

2018-08-31 10:53:05

阅读数 216

评论数 0

线程 进程

链接:https://www.zhihu.com/question/25532384/answer/81152571 首先来一句概括的总论:进程和线程都是一个时间段的描述,是CPU工作时间段的描述。 下面细说背景: CPU+RAM+各种资源(比如显卡,光驱,键盘,GPS, 等等外设)构成我们...

2018-08-26 19:20:15

阅读数 66

评论数 0

arm-linux-gcc常用参数 gcc编译器使用方法

我们需要编译出运行在ARM平台上的代码,所使用的交叉编译器为 arm-linux-gcc。下面将arm-linux-gcc编译工具的一些常用命令参数介绍给大家。 在此之前首先介绍下编译器的工作过程,在使用GCC编译程序时,编译过程分为四个阶段: 预处理(Pre-Processing) 编译(...

2018-08-25 12:25:34

阅读数 124

评论数 0

stm32 + W5500 实现一个简单的 CoAP 服务器

硬件:stm32f103+W5500 软件:microcoap开源库 void CoAP_Server(void) { coap_packet_t pkt; switch(getSn_SR(SOCK_UDPS)) /*获取socket的状态*/ { ...

2018-08-16 10:50:31

阅读数 1329

评论数 0

OneNET NB 学习笔记四 基本 AT 指令流程

/* 1、上电检查流程 */ (1) AT //判断模组是否上电开机成功 (2) AT+CIMI //读取 IMSI, 判断 SIM 卡初始化是否成功 (3) AT+CSQ //信号质量检查 (4) AT+CEREG? //判断 PS 域附着状态,标识位返回 1 或 5 表示附着正常 (5) AT...

2018-08-13 10:08:06

阅读数 2581

评论数 3

OneNET NB 学习笔记三 接收数据处理与回复过程

//main函数中,循环调用 do { ret = nbiot_device_step( dev, 1); // 处理上下行数据的总入口 if ( ret ) printf( &am...

2018-08-11 15:36:54

阅读数 842

评论数 1

stm32 USART接收总线空闲中断--USART_IT_IDLE

串口DMA接收: 接收数据的流程: 串口接收DMA在初始化的时候就处于开启状态,一直等待数据的到来,在软件上无需做任何事情,只要在初始化配置的时候设置好配置就可以了。 判断数据数据接收完成: 这里判断接收完成是通过串口空闲中断的方式实现,即当串口数据流停止后,就会产生IDLE...

2018-08-10 11:21:08

阅读数 5073

评论数 0

OneNET NB 学习笔记二 内存管理 memb fifo ringbuf

#define CC_CONCAT2(s1, s2) s1##s2 //将s1和s2连接 #define CC_CONCAT(s1, s2) CC_CONCAT2(s1, s2) #define MEMB(name, structure, num) \ static char...

2018-08-09 08:07:43

阅读数 306

评论数 0

OneNET NB 学习笔记一 终端创建设备、资源过程

终端设备在应用程序中创建设备(dev),在设备中配置好接入机地址、endpoint name(也即鉴权信息 IMEI、 IMSI 等信息)、 lifetime 以及回调函数(读、写和执行函数)后,应用程序中创建完成的设备会在基础通信套件中创建同样的设备,在设备登录 OneNET 平台成功后,基础通...

2018-08-08 19:43:20

阅读数 2071

评论数 3

MCU LSB MSB接收、发送

char Data = 0; //放置接收的数据 for(char i = 0; i < 8; i++) //MCU LSB接收数据组 字节 { Data >>= 1; //先移位 if(GPIO...

2018-08-04 17:18:51

阅读数 191

评论数 0

最大公约数 欧几里得算法 最小公倍数

Gcd(m, n) = Gcd(n, m%n) int Gcd(int m, int n) { if(n == 0) return m; else return Gcd(n, m%n); } int Gcd(int m, int n) { ...

2018-08-01 23:00:10

阅读数 113

评论数 0

字符串与整型互相转化的库函数

将整型转化成字符串: sprintf,在string.h #include <string.h> int sprintf( char *...

2018-08-01 20:34:59

阅读数 186

评论数 0

PC817线性光耦

PC817线性光耦作用及原理 pc817是常用的线性光藕,在各种要求比较精密的功能电路中常常被当作耦合器件,具有上下级电路完全隔离的作用,相互不产生影响。 pc817主要特点: 1、电流传输比 (CTR: MIN. 50% at IF=5mA ,VCE=5V) 2、高隔离电压:5000...

2018-08-01 10:44:44

阅读数 2744

评论数 0

STM32 USART1一键下载电路

要想了解一键下载电路的工作过程,首先要了解STM32的几种启动模式。​STM32的几种启动模式如下表所示:​ 从表中可知,我们想用串口下载代码,就要配置BOOT0为1,BOOT1为0,但是如果想让STM32一复位就运行代码,就要配置BOOT0为0,BOOT1配置为什么都可以,为了解决这个问...

2018-08-01 08:20:45

阅读数 3258

评论数 0

二维数组 作为 参数传递

void func(char (*arr)[50], int n) { } void func1(char arr[][50], int n) { } void func2(char arr[100][50], int n) { } int main() { char arr[100][...

2018-07-31 19:21:46

阅读数 185

评论数 0

链表反转

#include <stdio.h> #include <stdlib.h> struct stu{ int age; struct stu* next; }; typedef struct ...

2018-07-29 22:41:17

阅读数 46

评论数 0

typedef与#define

typedef 声明新类型名代替原来的类型 1、简单的用一个新的类型名代替原有的类型名 typedef int Integer; //指定Integer为类型名,作用与int相同 Integer i, j; //作用与int i, j;相同,都是定义两个int类型的变...

2018-07-29 10:38:10

阅读数 66

评论数 0

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