自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 sizeof与strlen的区别。

sizeof(...)是运算符,它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。用sizeof来返回类型以及静态分配的对象、结构或数组所占的空间,返回值跟对象、结构、数组所存储的内容没有关系。 strlen(...)是函数,要在运行时才能计算。参数必须是字符型指针(char*)。当数组...

2014-10-13 10:09:42

阅读数 370

评论数 0

转载 多时域设计中如何处理信号跨时域。

多时钟域的设计中,对于信号跨时域的处理这里可以采用乒乓操作的方法来进行。乒乓操作的处理流程为:输入数据流通过‘输入数据选择单元”将数据流等时分配到两个数据缓冲区,数据缓冲模块可以为任何存储模块,比较常用的存储单元为双口RAM(DPRAM)、单口RAM(SPRAM)、FIFO等。   在第1个...

2014-09-16 09:57:58

阅读数 2693

评论数 0

转载 五大内存分区。(转自鱼C)

在C/C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。      栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。      堆,就是那些由new分配的内存块,他们的释放编译...

2014-09-10 20:49:32

阅读数 360

评论数 0

转载 什么是VSync。

VSync是垂直同期(Vertical Synchronization)的简称。基本的思路是将你的FPS和显示器的刷新率同期起来。其目的是避免一种称之为"撕裂"的现象。再下面我将详细介绍这些内容。 每一台CRT显示器都有自己的刷新率。其单位是HZ.其数值是显示...

2014-08-08 21:42:26

阅读数 368

评论数 0

转载 RGB、YUV和YCbCr

之前对RGB、YUV和YCbCr一直没有清晰的理解和认识,今天打算做一个小结,结合网上的文章谈谈自己的看法,也希望有机会看到这篇文章的人能指点一二,相互交流,共同进步。     首先要说明,上述的RGB、YUV和YCbCr都是人为规定的彩色模型或颜色空间(有时也叫彩色系统或彩色空间)。它的用...

2014-08-07 12:38:50

阅读数 326

评论数 0

转载 #define 与 typedef 的区别。

1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如: #define PI 3.1415926 程序中的:area=PI*r*r 会替换为3.1415926*r*r 如果你把#defi...

2014-07-29 09:11:04

阅读数 288

评论数 0

转载 malloc函数详解

一、原型:extern void *malloc(unsigned int num_bytes); 头文件:#include 或 #include (注意:alloc.h 与 malloc.h 的内容是完全一致的。) 功能:分配长度为num_bytes字节的内存块 说明:如果...

2014-07-25 09:58:47

阅读数 324

评论数 0

转载 什么是频率补偿?

1。主导思想:设法改变放大电路高频部分的开环频率特性,使高频部分衰减的更快些,即使相移180度时,满足|AF| 2。实际校正做法:A。用示波器观察放大电路是否自激,如自激,观察自激频率;                B。选择校正网络的值,使RC=1/2pif0,其中f0为自激频率; ...

2014-07-23 09:47:17

阅读数 1221

评论数 0

转载 视频信号的垂直消隐和水平消隐

所有的游戏机都有一个刷新动作,用来重新定位电子枪显示可见的数据。如电视机,它分为NTSC制和PAL制, NTSC制每秒刷新60次, 而PAL制每秒刷新50次。 电子枪从左到右画出象素,它每次只能画一条扫描线,画下一条之前要先回到左边并做好画下一条扫描线的准备,这之间有一段时间叫做水平消隐(H...

2014-07-02 17:06:11

阅读数 2886

评论数 0

原创 为什么要声明静态(static)数组

在函数定义中用static声明的局部变量虽然存在於程序的整个执行期间,但是只能在函数体内访问。用static声明局部数组可避免在每次调用函数时都建立和初始化数组以及在每次退出函数时撤销数组。这样可缩短程序的执行时间,特别是在频繁调用包含大型数组的函数时。因此,如果要频繁地进入和退出包含自动数组的函...

2014-06-30 10:27:50

阅读数 395

评论数 0

转载 Nios II 系统时钟timestamp的应用

在用Nios II做外设时序驱动的时候,经常会用延时函数。有时会常使用某个FPGA芯片和时钟,比如笔者一直使用的芯片是cyclone系列 EP2C35F484C8N,PLL输入SOPC时钟是50M。因此,提前测试硬件运行延时情况并编写今后常用的延时函数有一定的意义。 软件:Quartus II ...

2014-05-22 19:13:43

阅读数 1043

评论数 0

转载 FIFO存储深度(容量)计算

如果数据流连续不断则FIFO深度无论多少,只要读写时钟不同源同频则都会丢数; FIFO用于缓冲块数据流,一般用在写快读慢时, FIFO深度 / (写入速率 - 读出速率) = FIFO被填满时间   应大于 数据包传送时间= 数据量 / 写入速率 例:A/D采样率50MHz,dsp读A/...

2014-05-20 21:38:31

阅读数 3651

评论数 0

原创 Quartus II中FPGA的管脚分配保存方法

一、摘要   将Quartus II中FPGA管脚的分配及保存方法做一个汇总。   二、管脚分配方法   FPGA 的管脚分配,除了在QII软件中,选择“Assignments ->Pin”标签(或者点击按钮) ,打开Pin Planner,分配管脚外,还有以下2种方...

2014-05-16 20:29:20

阅读数 518

评论数 0

转载 理解Avalon总线的静态地址对齐与动态地址对齐

尽管看了不少资料,但是一直对 Avalon slave 的动态地址对齐和静态地址对齐的理解不是很透彻。前两天自己做了一个SOPC的自定义组件,通过Deprecated这个选项的不同选取,一下子就理解了Avalon slave的两种地址对齐方式之间的区别。 下面以Altera提供的PWM自定义...

2014-05-16 16:26:27

阅读数 1402

评论数 0

原创 NIOSII Slave with readdatavalid signal must support at least 1 pending read 解决方法。

NIOS  // ============ 这算鸟解决办法,那我用SOPC builder该如何解决。 在『Avalon Interface Specifications』文档中搜索相关内容,可能与maximumPendingReadTransactions有关,(文档22页...

2014-05-15 20:56:44

阅读数 1613

评论数 0

原创 const与volatile关键字的用法

const最主要的特点就是只读,有常量、常量指针,如果不是特别小心的分析C语言语句的书写格式,再加上指针的使用,就特别容易弄错。 volatile关键字是一个类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器...

2014-05-12 16:37:25

阅读数 1477

评论数 0

原创 C语言中const的用法

基本解释           const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的健壮性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。   虽然这听起来很简单,但实际上,const的使用也是c语言中一个...

2014-05-12 16:33:19

阅读数 455

评论数 1

转载 嵌入式C语言中的volatile关键字。

/*********以下是转载《16道嵌入式C语言面试题中的一题》***********/ 关键字volatile有什么含意 并给出三个不同的例子。  一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去  假设这个变量的值了。精确地说就是,优化器在用到...

2014-05-12 14:49:15

阅读数 324

评论数 0

原创 关于STM32上电后不自动运行程序,需要按一下复位才运行。

FRAM在上电后也要进行一些内部初始化,所以在上电之后很快就对它进行操作,它可能还没有“准备好”,所以会出现有时出错的情况。一定延时之后,FRAM初始化完毕,再进行操作就不会错了。

2014-05-09 16:32:11

阅读数 8723

评论数 0

转载 关于可屏蔽中断与不可屏蔽中断。

可屏蔽中断和不可屏蔽中断都属于外部中断,是由外部中断源引起的;但它们也有区别:可屏蔽中断是通过CPU的INTR引脚引入,当中断标志IF=1时允许中断,当IF=0时禁止中断,不可屏蔽中断是由NMI引脚引入,不受IF标志的影响。      不可屏蔽中断源一旦提出请求,CPU必须无条件响应,而对可屏蔽...

2014-05-07 19:10:38

阅读数 3686

评论数 0

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