加载中…
博文
标签:

循环队列

假溢出

优缺点

使用

分类: DataStructure
    问题描述:循环队列是一般队列的变种吧,就是将队列首尾相连了,貌似这样就不必考虑队列满而无法使用了,因为到了队列尾又会循环回到队列首。在嵌入式底层代码实现中,一些串行端口数据特别是串口,用到循环队列的情况还是蛮多的。当然,这只是一种数据结构,用在哪里都得看具体用途和是否能带来好处。为了更深一步的对这一结构的了解,进行了下整理和学习。
    循环队列:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。这个应当是比较成熟的定义了,简洁了当。像是一条蛇咬住自己的尾巴,而且蛇腔里面可以填充东西的感觉。
    为什么用循环队列:主要是为了克服“假溢出”情况,系统作为队列用的存储区还没有满,但队列却发生了溢出,我们把这种现象称为'假溢出'。其实就是因为队列的first in first out特质所引起的,队列为获得
标签:

c

指针

高级应用

函数指针

指向指针的指针

分类: C/Cpp
    问题描述:指针是C语言很有特色的一个部分,但是使用也比较复杂,很容易导致一些莫名的错误,比如有时候函数指针没有赋值,有时指向了未定义的内存,这些时候都可能导致程序异常执行或者崩溃。但指针的灵活性让它可以实现很多复杂的操作,如指向指针的指针,指向函数的指针。
    指向指针的指针:函数传递参数是传值调用的,如果想在调用函数时改变传入的参数的值,而且该传入的参数的值本来是个指针时,这时就可以使用指向指针的指针了,以这种方式一般不用给函数返回参数,函数中只拷贝指向指针的指针值,而被指向的指针以及该指针指向的内存单元都可以直接操作,
void add_to_list(struct node **list, int n) {
    struct node *new_node;
    new_node = malloc(sizeof(struct node));
    if(new_node == NULL) {  // 确认申请内存成功
        printf('Error: malloc failed in add_to_list\n');
        exit(EXIT_FAILURE);
    }
标签:

daqmx

任务

通道

labview

it

分类: LabVIEW
    问题描述:DAQmx任务及通道,任务相关API的使用,如“开始任务”、“停止任务”等。
    DAQmx使用:DAQmx提供了一组用于控制NI的数据采集卡的API,方便实现模拟输入输出、数字输入输出、计数器输入输出等功能。可以在LabVIEWLabVIEW SignalExpressLabWindows/CVIMeasurement Studio.NETANSI C中调用DAQmx API,前提是要先安装或导入DAQmx的驱动。
    DAQmx通道:即采集卡与外部信号的交互通道,一个通道代表一路外部信号。没有NI采集卡设备时可以在MAX中虚拟一个设备,采用虚拟设备完成编程任务。
标签:

c8051f320

keil

uvision4

uce-5

驱动

it

分类: Embedded_System
    问题描述:之前写过在Silicon Laboratories IDE下进行C8051Fxx单片机程序开发以及在Keil下编程调试,然后将生成的hex文件用Silicon的Flash Program烧写到单片机中这两种方式的尝试,但感觉都不是很方便,Silicon的IDE使用起来不如Keil的界面以及功能好用,许多出错信息也不很熟悉,而且用这个Silicon IDE的人应当很少,有问题时讨论也不方便。而用第二种方式在Keil中编写与调试程序,然后再下载,这样就不能在线调试了,许多功能不能用。后来经提醒发现在Keil下可以使用UCE-5/6调试器进行C8051F3xx的开发的。
    所需器件:电脑一台(用的WinXP系统,Win7的也行的),UCE-5调试器一个(带USB接线与C2接线),C8051F320的目标板一个。
    安装步骤:首先,得安装Keil uVision4(之前的版本也都是可以的,这个是目前最新版本了),安装过程中可以选择默认安装路径或者新建安装路径,安装后在License Managerment中输入自己CID对应的序列号解除限制功能。
    接下来需要安装Silicon器件在Keil下的驱动,下载地址为
标签:

java

jdk

环境变量

分类: Java

    JAVA语言是面向对象的,而且目前比较流行的Android应用程序就是用JAVA语言来开发的。jdk是JAVA开发的工具合集,用JAVA开发项目所必需的,于是对其进行了一些了解,并对各步骤做了简单的记录。

 

jdk的下载与安装:

    java原属于sun公司的,但前几年被oracle收购。因此需到oracle官网下载jdk文件,如下载Java SE的jdk的地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

    根据需要下载相应版本的jdk或jre,不过我下载安装的jdk是自动包含了jre的:

http://s6/mw690/917f16624d3aeb5b936b5&690

    点击了JDK Download按钮之后,会看到许多可供下载文件的列表:

 

标签:

解决方法

endnote

ieee

教育

分类: Research

    工程领域许多文献需从IEEE数据库中下载(前提是所在单位购买了该数据库的使用权),网上视频教程没有见到关于将IEEE Xplore数据库中的文献导入EndNote的方法,其实支持EndNote的数据库是非常多的,在网上搜索了一下找到了解决方法,并自己实践了一下,很简单。

    方法:进入IEEE XPlore中搜索到相关文献后,将需要的文献选择,并在第一篇文献上方点击“Download Citation”选项,然后再下拉列表中分别选中“Citation & Abstract”和“EndNote,Procite,RefMan”两项。之后有两种方法都可实现:

    1. 点击“Download Citation”将扩展名为“.RIS”的文件保存到本地硬盘,之后到EndNote中选择“File->Import->File”,弹出“Import File”对话框:在“Import Option”里选择“Reference Manager(RIS)”选项;

    2. 打开EndNote,再到IEEE Xplore中点击“Download Citation”,此时参考文献列表会自动转到EndNote的Library中。

  
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有