![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
find12
这个作者很懒,什么都没留下…
展开
-
每隔一秒读取一次系统时间并写入文件
#include<stdio.h>#include<time.h>#include<unistd.h>#define N 64int main(int argc, char *argv[]){ int n; char buf[N]; FILE *fps; time_t t; if(argc <...原创 2019-12-16 11:52:28 · 1449 阅读 · 0 评论 -
gtes,fgets函数---fgets()计算一个文本文件的行数
函数原型char *gets(char *s)char *fgets(char *s, int size, FILE *stream)gets函数容易造成缓冲区溢出,不推荐使用fgets从指定的流中读取一个字符串,当遇到 \n 时,会读取 \n 或读取 size-1 个字符串后返回注意:fgets不能保证每次都能读一行fgets()计算一个文本文件的行数#incl...原创 2019-12-16 11:06:40 · 411 阅读 · 0 评论 -
DMA之理解
原文链接1、DMA由来DMA(Direct Memory Access,直接存储器访问)。在DMA出现之前,CPU与外设之间的数据传送方式有程序传送方式、中断传送方式。CPU是通过系统总线与其他部件连接并进行数据传输。1.1程序传送方式程序传送方式是指直接在程序控制下进行数据的输入/输出操作。分为无条件传送方式和查询(条件传送方式)两种。1.1.1无条件传送方式微机系统中...转载 2019-07-28 00:57:10 · 845 阅读 · 0 评论 -
串行通信的数据位,起始位,停止位?
参考链接单片机串口通信一般是11位,起始位1bit,数据位8bit,校验位1bit,停止位1bit,串口通信分两种一种是同步通信,一种是异步通信,像ps\2键盘就是同步,一般的单片机下载都是异步通信,起始位表示过了这个位就是数据位了,接着8位数据,然后校验,然后停止位,停止位表示这一桢数据结束。最常用的“数据帧”格式是(n,8,1):1、n的意思是无“奇偶校验”,即起始位;...转载 2019-07-28 00:16:33 · 21334 阅读 · 0 评论 -
IPC对象
参考链接IPC对象是活动在内核级别的一种进程间通信的工具。存在的IPC对象通过它的标识符来引用和访问,这个标识符是一个非负整数,它唯一的标识了一个IPC对象,这个IPC对象可以是消息队列或信号量或共享存储器中的任意一种类型。在Linux系统中标识符被声明成整数,所以可能存在的最大标识符为65535。这里标识符与文件描述符有所不同,使用open函数打开一个文件时,返回的文件描述符的值为当前进程最...转载 2019-07-28 00:10:42 · 495 阅读 · 0 评论 -
调用free函数后,p指针指向什么
参考链接int *p;p = (int*)malloc(sizeof(int));free(p);问题是 free 后,p 指针还存在吗?如果存在,那么 p 是指向 NULL 吗?或者是野指针?指向原来的地址,但是那个地址所代表的内存已经被释放,不能再使用了,这就是野指针。...转载 2019-07-27 22:29:49 · 1997 阅读 · 0 评论 -
大小端及判定方式
大小端:大端存储:低字节数据存放在高地址,高字节数据存放在低地址小端存储:低字节数据存放在低地址,高字节数据存放在高地址STM32F101xx和STM32F103xx仅支持小端模式,虽然Cortex-M3是大小都支持的。判定方式一、利用联合体在union中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。联合体变量的各个成员...原创 2019-07-26 01:08:35 · 394 阅读 · 0 评论 -
以太网中计算机间以帧为单位进行通信,下列选项中不属于以太网数据帧内容的是( )。
参考链接14[单选题] 以太网中计算机间以帧为单位进行通信,下列选项中不属于以太网数据帧内容的是( )。 A.IP地址 B.MAC地址 C.有效载荷 D.校验信息 参考答案:A 参考解析:以太网数据帧:前导码(7字节)、帧起始定界符(1字节)、目的MAC地址(6字节)、源MAC地址(6字节)、类型/长度(2字节)、数据(46~1500字节)、帧校验序列(...转载 2019-07-27 21:59:04 · 2135 阅读 · 0 评论 -
下面关于ARM嵌入式处理器的GPIO的叙述中,错误的是( )。
参考链接8[单选题] 下面关于ARM嵌入式处理器的GPIO的叙述中,错误的是( )。 A.GPIO的引脚一般是三态的,即具有0态,1态和高阻状态 B.有些GPIO引脚具有多种功能,通过设置相关控制寄存器的某些位来进行选择 C.有些ARM芯片的GPIO引脚可以设置成具有中断输入功能 D.只有几个按键的简单键盘接口,应采用专用的键盘接口芯片来实现,而不宜采用GPIO来设计...转载 2019-07-27 21:56:33 · 1472 阅读 · 0 评论 -
在rs-232c接口标准中,表示逻辑1的电平和表示逻辑0的电平各是多少?
原文链接EIA-RS-232C对电气特性、逻辑电平和各种信号线功能都作了规定。 在TxD和RxD数据上: (负逻辑定义) 逻辑1(MARK)= -3~-15V 逻辑0(SPACE)= +3~+15V 在RTS、CTS、DSR、DTR和DCD等控制线上: (正逻辑定义) 信号有效(接通,ON状态,正电压)= +3~ +15V 信号无效(断开,OFF状态,负电压)=...转载 2019-07-27 21:50:40 · 13456 阅读 · 0 评论 -
函数指针,malloc,static
指针函数:返回值为指针的函数#include <stdio.h> 2 3 4 char *fun() 5 { 6 char str[] = "hello world!"; 7 return str; 8 } 910 int main()11 {12 char *p = fun();13 puts(p...原创 2019-07-26 00:32:56 · 577 阅读 · 0 评论 -
共享内存
原文链接共享内存实现分为两个步骤:1.创建共享、打开共享内存,使用shmget函数2.映射共享内存,将这段创建的共享内存映射到具体的进程空间去,使用shmat函数3. 分离共享内存4. 控制、删除共享内存下面介绍共享内存要用到的函数:shmget函数作用:在内核中创建内存函数原型:int shmget ( key_t key, int size, int shmf...转载 2019-07-25 17:54:07 · 109 阅读 · 0 评论 -
linux下的几种进程间通信方式的特点
原文链接linux上面的IPC大多都是从UNIX上面继承而来。最初Unix IPC包括:管道、FIFO、信号。System V IPC包括:System V消息队列、System V信号灯、System V共享内存区。由于Unix版本的多样性,电子电气工程协会(IEEE)开发了一个独立的Unix标准,这个新的ANSI Unix标准被称为计算机环境的可移植性操作系统界面(PSO...转载 2019-07-25 17:50:28 · 470 阅读 · 0 评论 -
实例详解 网络协议概述:物理层、连接层、网络层、传输层、应用层
这篇文章主要介绍了网络协议概述:物理层、连接层、网络层、传输层、应用层详解,本文用生活中的邮差与邮局来帮助理解复杂的网络协议,通俗易懂,文风幽默,是少见的好文章,需要的朋友可以参考下转自 www.jb51.com 作者:Vameihttp://www.jb51.net/network/211947.html引言信号的传输总要符合一定的协议(protocol)。比如说长城上放狼烟,...转载 2019-07-10 12:08:06 · 387 阅读 · 0 评论 -
全局变量、局部变量 区别
全局变量和局部变量的区别。 全局变量,储存在静态区.进入main函数之前就被创建.生命周期为整个源程序;局部变量,在栈中分配.在函数被调用时才被创建.生命周期为函数内。...原创 2019-05-09 23:53:39 · 85 阅读 · 0 评论 -
static、const、volatile
4、关键字static的作用是什么?解答:在C语言中,关键字static有三个明显的作用:在函数体中,一个被声明为静态的变量在这一函数被调用过程中只会被分配一次内存,且整个运行期间不会重新分配; 在函数体外、某个源文件内,一个被声明为静态的变量只可被该源文件内的所有函数访问,但不能被其他源文件的函数访问。它是一个本地的全局变量; 在某个源文件内,一个被声明为静态的函数仅仅只可以被...转载 2019-05-09 23:12:52 · 247 阅读 · 0 评论 -
molloc函数用法
原文链接一、malloc()和free()的基本概念以及基本用法:1、函数原型及说明:void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。关于分配失败的原因,应该有多种,比如说空间不足就是一种。void free(void *FirstByte): 该函数是将之前用m...转载 2019-05-09 22:52:05 · 2939 阅读 · 0 评论