自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux的链接

Linux下具有为一个文件起多个名字的功能,称为链接。如果被链接的文件被存放在系统的目录下,则必须取不同的文件名,而不用再硬盘上为同样的数据重复备份;但如果被链接的文件是存放在不同的目录下,被链接的文件则可以使用相同的文件名,因此只要对一个目录下的文件进行修改,就会完成对所有目录下同名链接文件的修改。需要注意的一点就是,对于某个文件的各链接文件,可以给它们指定不同的存取权限,以控制对信息的共享和增

2016-09-30 09:58:06 414

原创 如何编写有多个返回值的C语言函数

C语言函数的返回值是通过函数中的return语句来实现的,但是每调用一次该函数,return语句只能返回一个值,所以当我们在编写C语言代码时,想返回多个返回值,直接用return语句是无法实现的。1)利用全局变量:全局变量的作用域是从定义变量开始到程序结束,所以对于编写多个返回值的C语言函数,我们可以考虑把要返回的多个值定义成全局变量当函数被调用时,全局变量被更改,再把更改后的全局变量应用

2016-09-29 12:20:07 6714

原创 AD9如何创建原理图元件

在自己做项目的时候,总会遇到一些我的元件库里所没有的元件,这个时候,我就需要在画原理图之前画出相应的所需要的元件的原理图及PCB的封装,首先我就拿NRF24L01+举例,先画出相应的原理图。1)首先,在需要打开AD9选择File->New->Library->Schematic Library,建立了自己的原理图库。如下:注意:如果已经有原理图库的话,只需打开相应的库,然后就可以画

2016-09-28 13:55:56 16791 2

原创 Keil编程环境下的错误

每次在Keil编程环境中遇见各种各样的error和warning,这里就积累一点我所遇见的问题。Q1:*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNALQ2:*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS没有调用到定义过的函数,变量什么的,看看具体的警告

2016-09-27 15:58:28 4293

原创 S5PV210的中断编程

ARM处理器响应中断的时候,总是从固定的中断异常向量取地址开始的,而在高级语言环境下开发中断服务程序时,无法控制从固定地址处开始至中断服务程序的跳转流程。为了使得上层应用程序与硬件中断跳转联系起来,需要编写一段中间的服务程序来进行连接,即中断解析程序。对中断编程,有以下的4部分程序:1)建立系统中断向量表,并且设置微处理器内核的程序状态寄存器CPSR中的F位和I位,一般情况下中断均需要

2016-09-26 18:21:16 559

原创 matlab程序及C语言实现一维多元离散信源熵

最近在学习中,需要用到用MATLAB编写方程来实现一维多元离散信源熵的计算,下面是相应的程序和改进程序:format shortp = input('p = ') %input any discrete one-dimensional probability distributionif sum(p) ~= 1,error('p is error,sum is not 1') %c

2016-09-25 14:42:10 5409 2

原创 小论野指针

在编写C语言程序时,我们很多程序的bug都是因为野指针造成的。那么今天我就简单地说说野指针。野指针是指向“垃圾”内存的指针,出现在c和c++中,因为c和c++是没有自动内存垃圾回收功能的高级语言。

2016-09-24 22:34:38 489

原创 ARM里存储器的组织结构

按照储存器系统的组织结构的作用划分,复杂的嵌入式系统中的储存器系统可以分为4的等级:寄存器、Cache、主储存器以及辅助储存器。如下图所示:其中,内存是寄存器、Cache和主存储器的统称,同时辅助存储器被称为外存。  寄存器包含在微处理器内部,用于指令执行时的数据存放。  Cache是高速缓存。  主存储器是程序执行代码及数据的存放区。  辅助存储器通常是Flash类型的芯片,

2016-09-23 21:16:14 3861

原创 Cookie在网站登录所带来的安全隐患及解决办法

最近几天屡次出现登录CSDN账户登陆问题,具体的问题是:在以往保留的正确的账号和密码的界面上自动登录,登录到了一个不知名的账号上。于是我便开始寻找正确的解决方案之路:1. 在账号输入界面重新输入自己的账号和密码,但是都会出现相同的问题。2. 将浏览器的历史记录给清除掉,也依旧不能解决问题3. 最后我将浏览器里的上网痕迹给设置清理了一下,添加了清理Cookies这一项,结果再进入登录

2016-09-22 10:54:38 8471

原创 UDP协议的不可靠性

UDP协议的不可靠问题主要体现在哪些方面?⑴当客户发送请求报文后,等待服务器的应答,客户进程收到一个应答后,就将其存放到该套接字的接收缓冲区中,此时,如果刚好有其他进程给该客户的这个端口地址发送了一个数据报,则客户的套接字会误以为是服务器的应答,也会将其存放到这个接收缓冲区中。这样在客户的接收缓冲区中会出现噪声数据。⑵当客户发送请求报文后,等待服务器的应答,但是由于UDP协议是不可靠的,数

2016-09-21 21:37:30 4690

原创 C语言文件操作的相关(一)

C语言中对文件的操作,是很重要的,今天我首先对对文件进行操作的函数进行整理学习1. fread:原型:size_t fread(void * buffer,size_t size,size_t count,FILE *stream)参数: buffer:接收数据的内存地址size:要读取的每个数据项的字节数count:要读取的数据项的个数stream:输入流返回值:

2016-09-20 19:59:40 531

原创 虚拟内存和虚拟地址

虚拟内存,是用以解决应用程序太大以致内存容纳不下程序的问题。基本思想:程序、数据、堆栈的总的大小可以超过物理内存的大小,操作系统把当前使用的部分保留在内存中,而把其它未被使用的部分保存在磁盘上。地址范围:计算机上存在的能够产生的地址合集。范围的大小由CPU的位数决定,亦称为虚拟地址空间。

2016-09-19 19:37:27 851

原创 虚拟机“锁定文件失败”、“打不开磁盘”或者“它所依赖的某个快照磁盘”的解决办法

一次在使用虚拟机的过程中,电脑出问题强制关机后,重新打开虚拟机,出现了“文件锁定失败”,打不开虚拟机的情况。 上网百度查相关的解决方案,终于解决了问题。因为虚拟机运行的时候会创建相应的文件,即在虚拟机安装目录下会自动生成.lck文件,用以锁定文件,这是虚拟机里的虚拟磁盘(.vmdk)本身自带的一种磁盘保护机制,防止多台虚拟机同时访问同一个虚拟词磁盘造成对磁盘的修改、数据丢失以及性能的削减。虚拟

2016-09-18 20:03:04 20556 9

原创 51系列单片机程序跑飞的学习

一、 程序运行跑飞现象:单片机中的程序计数器(PC)的值出乎我们所需要的,发生了异常的偏移,脱离了原本设定好的程序要执行的位置,进入原定程序以外的区域,例如:程序的空白区、程序以外的空间或者是某种死循环中。二、 跑飞的影响:使指令的地址码和操作码发生改变,而PC把操作码当作指令来执行,操作码改变就代表着将执行错误的指令;或者PC的值指向一个不符合逻辑关系的指令或非程序的区域,会造成运行

2016-09-17 00:35:49 2805

原创 单片机程序主函数中while(1)的作用

在单片机的主程序中,我们在写程序的时候,总是写一个while(1)的语句,以此达到让程序进入一个无限死循环中,其目的是让程序一直保持在我所需要的运行情况下,例如:流水灯的程序让LED灯一直在交替闪烁,LCD显示不停地在刷新。该循环并不是阻止程序的跑飞(程序的跑飞我会在下一篇博客中学习一番),而是防止main()返回。因为在嵌入式中,main函数是不能返回的,而虽然我们所编写的单片机程序是用的是

2016-09-16 22:15:39 17002 2

原创 实时操作系统μC/OS-Ⅱ读书笔记(4)

第4章 任务的同步与通信4.1 任务的同步和事件☆任务间的制约关系:直接制约:源于任务之间的合作。间接制约:源于对资源的共享。因此,多任务合作过程中,操作系统要解决两个问题:1. 各任务间应该有一种互斥关系2. 相关的任务在执行上要有先后次序☆事件:μC/OS-Ⅱ实现任务之间通信所使用的中间环节,例如:信号量、邮箱(消息邮箱)和消息队列。☆μC/OS-Ⅱ把任务发

2016-09-15 21:34:47 714

原创 实时操作系统μC/OS-Ⅱ

第3章 μC/OS-Ⅱ的中断和时钟3.1 μC/OS-Ⅱ的中断过程 ☆μC/OS-Ⅱ的中断过程:系统接收到中断请求后,如果这时CPU处于中断允许状态(即中断开放),系统会中止正在运行的当前任务,而按照中断向量的指向转而去运行中断服务子程序;当中断服务子程序的运行结束后,系统将会根据情况返回到被中止的任务继续运行,或者转向运行另一个具有更高优先级别的就绪任务。☆可剥夺的μC/OS-Ⅱ内核

2016-09-14 19:13:02 893

原创 Windows下建立TCP连接和终止TCP连接

1.请仔细解释建立TCP连接的三个步骤。答:三次握手⑴ 请求端发送一个SYN报文段指明客户打算连接的服务器端口号,以及初始化、序号,SYN请求发送后,客户进入SYN_SENT状态。⑵ 服务器启动后首先进入LISTEN状态,当它收到客户发来的SYN请求后,进入SYN_REC状态,发回包含服务器的初始序号的SYN报文段作为应答,同时将确认序号设置为客户的初始序号加1,对客户的SYN报文段进

2016-09-13 13:10:18 8484 1

原创 C语言和汇编混合编程

1.在C/C++程序中内嵌汇编指令在ARM 的C语言程序中,使用关键字__asm(下划线是两个)来标识一段汇编指令。2.在汇编程序中访问C程序变量汇编可以通过对C程序中的声明的全局变量进行地间接访问:1)使用IMPORT伪指令声明所要调用的全局变量;2)使用LDR指令读取全局变量的内存地址,通常该全局变量的内存地址存放在程序的数据缓冲池中;3)根据该数据类型,使用相应的LD

2016-09-12 20:57:09 1696

原创 操作系统μC/OS-Ⅱ读书笔记(2)

第3章μC/OS-Ⅱ中的任务3.1任务的基本概念☆μC/OS-Ⅱ操作系统内核的主要工作就是对任务进行管理和调度☆任务☆μC/OS-Ⅱ就是能对小任务的运行进行管理和调度的多任务操作系统☆代码上看,μC/OS-Ⅱ的任务是一个函数,从任务的存储结构上看,μC/OS-Ⅱ的任务由三个部分组成:任务程序代码(函数),任务堆栈和任务控制块。任务代码:任务的执行部分任务堆栈:保存任务的

2016-09-11 16:50:18 1971

原创 嵌入式实时操作系统μC/OS-Ⅱ读书笔记(1)

1.1 计算机操作系统☆操作系统(Operating System,OS): 系统软件,界于计算机硬件与计算机应用程序之间,提供应用程序接口(Application Programming Interface,API)屏蔽计算机硬件工作的一些细节,给设计人员提供一个友好的平台进行应用程序的设计开发,提高应用程序的开发效率。☆计算机的硬件系统:即构成计算机的实际物理装置,诸如中央处理器(CP

2016-09-10 21:27:30 1088

原创 Windows网络编程用VS2010调试时出现的问题及解决方案

我们在学习Windows网络编程的时候,老师要求在Visual Studio 2010里创建一个聊天项目,小组分工编程时,我遇到的是以下的问题:问题1::TalkClient.obj : error LNK2019: 无法解析的外部符号 "void __cdecl defProc(void)" (?defProc@@YAXXZ),该符号在函数 "void __cdecl procMen

2016-09-09 21:41:42 1274

空空如也

空空如也

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

TA关注的人

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