- 博客(58)
- 收藏
- 关注
原创 《C语言深度解剖》--学习笔记
1、什么是定义,什么是声明什么是定义?什么是声明?它们有何区别? 举个例子: A)int i; B)extern int i;(关于extern,后面解释) 什么是定义:所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。但注意,这个名字一旦和这块内存匹配起来(可以想象是这个名字嫁给了这块空间,没有要彩礼啊。^_^)...
2018-05-16 19:15:02
1195
原创 C语言--typedef struct与struct定义结构体的区别
我在很多C语言代码中看到很多定义结构体时使用typedef struct,而不适用struct,就了解了这样做的原因:typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。 具体区别在于: (1)若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,struct node n; (2)若用typedef,可以这样写,t...
2018-05-12 21:11:27
5744
原创 C语言--动态内存分配
1)什么是动态内存分配、静态内存分配。百度百科中这样定义静态内存分配:分配内存大小的是固定,比如定义一个数组,数组的大小是我们提前定义好的,一直到程序结束。动态内存分配:动态内存分配(Dynamic Memory Allocation)就是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。2)为什么要进行动态内存分配?(1)传统数组(即静态内存分配)有着如下缺...
2018-05-12 18:12:32
645
原创 C语言--关于指针两种初始化赋值操作的思考
探讨: int * p = & a; 和 int * p = &(int )0x0012ff60; 的含义和区别(1)我们来看第一段代码:#include <stdio.h>int main(void){ int a = 0; int *p = &a; printf("The value is: %d/n"
2018-05-11 20:38:20
1719
原创 C语言--关于int类型以及指针类型所占字节大小的探讨
1)int类型以及指针的类型所占字节的大小由什么决定的?首先,介绍几个基本概念:(主要摘自百度百科) 机器字长:在同一时间中处理二进制数的位数叫字长。通常称处理字长为8位数据的CPU叫8位CPU,32位CPU就是在同一时间内处理字长为32位的二进制数据。字长由微处理器(CPU)对外数据通路的数据总线条数决定。 寻址空间:寻址空间一般指的是CPU对于内存寻址的能力。CPU最大能查找多...
2018-05-11 20:35:00
7036
转载 markdown中实现首行缩进的两种方法
https://blog.youkuaiyun.com/mountzf/article/details/51714763
2018-05-07 12:01:32
3616
原创 C语言--为什么char类型的范围是 -128~+127
在C语言中, signed char 类型的范围为-128~127,每本教科书上也这么写,但是没有哪一本书上(包括老师)也不会给你为什么是-128~127,这个问题貌似看起来也很简单容易, 以至于不用去思考为什么,但是为什么最小负数绝对值总比最大正数多1 ,这个问题甚至有的工作几年的程序员都模棱两可,因为没有深入思考过,只知道书上这么写。于是,我不得不深入思考一下这个被许多人忽视的问题。原码、...
2018-05-07 11:56:51
4774
2
原创 时序电路的竞争与冒险
时序电路的竞争与冒险时序电路中主要存在以下两种竞争与冒险: 1)clk上升沿和rst_n下降沿同时到达:对于D触发器来说,rst_n信号的优先级高于clk信号的优先级。 2)clk上升沿和rst_n上升沿同时到达:容易造成竞争与冒险。3)异步时钟的处理:最简单的方案是使用主时钟去打一拍,实现信号的同步化。异步复位,同步释放机制异步复位:module test( ...
2018-03-05 18:31:49
4286
原创 FPGA中的锁存器
锁存器的定义: 锁存器在数据未锁存时,输出端的信号随输入信号变化,就像信号通过一个缓冲器,一旦锁存信号有效,则数据被锁存,输入信号不起作用。锁存器与寄存器的区别: 两者都是基本存储单元,单锁存器是电平触发的存储器,触发器是边沿触发的存储器。本质是,两者的基本功能是一样的,都可以存储数据。意思是说一个是组合逻辑的,一个是在时序电路中用的,时钟出发的。锁存器的危害:1、对毛...
2018-03-05 16:21:39
4146
原创 结构体
原文链接: http://www.dongeasy.com/software-development/embedded-system/1710.html基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。结构体定义:第一种:只有结构体定义struct stuff{...
2018-03-02 21:58:19
432
原创 硬件面试(一)
1、请解释电阻、电容、电感封装的含义:0402、0603、0805。表示的是尺寸参数。0402:40*20mil;0603:60*30mil;0805:80*50mil。2、请问电阻、电容、电感的封装大小分别与什么参数有关?电阻封装大小与电阻值、额定功率有关;电容封装大小与电容值、额定电压有关;电感封装大小与电感量、额定电流有关。3、请简述压敏电阻工作原理?当压敏电阻上的电压超...
2018-02-26 22:20:39
13091
原创 由传递函数判断模拟滤波器的类型
用拉氏变换求出H(s), 1、表达式的最高次数就是阶数, 2、分子上有什么就通什么!举个例子:H(s)=as/(bs+c),分子上有“高次”,所以是高通。这里的“高次”是这个意思:分母上有s的0次和1次,分子是s的1次,所以是较高的那个,简称“高次”。H(s)=a/(bs+c),分子上有“低次”,所以是低通。H(s)=as^2/(bs^2+cs+d),分子上有“高次”,所以...
2018-02-25 21:39:40
10320
原创 三大通信协议--UART、SPI、IIC
UART异步通信: http://blog.youkuaiyun.com/gogomusic/article/details/54767502 SPI同步通信: http://blog.youkuaiyun.com/gogomusic/article/details/54783969 IIC同步通信: http://blog.youkuaiyun.com/gogomusic/article/details/79344139...
2018-02-25 15:44:13
3758
1
原创 基于STM32的四轴飞行器项目总结
STM32F103RCT6 32位处理器STM32F103RCT6 程序存储器为256K,STM32F103C8T6 程序存储器为64K系统时钟:最大72M ,一般外部有两个晶振(一个8M,一个32.768KHZ)带有两个12为模数转换器,1us转换时间,转换范围:0-3.6V3个16位定时器PIDPID就是一个闭环控制系统。 对于闭环控制的一个...
2018-02-21 21:07:02
9532
1
原创 IIC通信协议
IIC 通信协议I2C(IIC,Inter-Integrated Circuit),数据线SDA(data)和时钟SCL(clock)构成的串行总线,双向传送。高速IIC总线一般可达400kbps以上。IIC是半双工通信方式。时序图主机:起始信号—–>第一位——>第二位———> …….. ——–>第八位———> 等待应答信号—...
2018-02-21 20:44:32
3310
原创 FPGA 学习笔记(十三)modelsim自动化仿真环境
搭建基于Modelsim的自动化仿真我们之前通常进行Modelsim界面操作,这样会很费时很麻烦。这里我们介绍一种快捷的方法,通过do文件快速搭建仿真环境,实现更高效的仿真过程。我们只需将sim.do中的代码写好,然后点击一下modelsim_run.bat文件,即可完成所有仿真过程。批处理文件modelsim_run.bat只需要双击批处理文件modelsim_run.bat
2018-01-30 15:58:27
2055
1
原创 SDRAM控制器操作时序
此为学习http://dengkanwen.com/137.html整理的笔记,侵删!SDRAM工作原理内部的状态跳转图我们所需关注的几个地方:1)粗黑线表示在该状态下会自动跳转到另一个状态,细黑线表示需要给命令才会跳转。2)我们重点关注的几个地方:IDLE 状态到WRITE 状态: 1) 在IDLE 状态需要先给ACT 命令激活某一行,此时处于Row
2018-01-29 21:40:42
4965
原创 SDRAM基础知识
SDRAM介绍 SDRAM(Synchronous Dynamic Random Access Memory),同步动态随机存储器。同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证存储的数据不丢失,因为SDRAM中存储数据是通过电容来工作的,大家知道电容在自然放置状态是会有放电的,如果电放完了,也就意味着SDRAM中的数
2018-01-23 23:05:56
4210
1
转载 SDRAM容量的计算方法
本文转载自http://blog.youkuaiyun.com/u010661782/article/details/49020699当我在看有关SDRAM的芯片手册的时候,我一直在想这样一个问题:SDRAM的容量它究竟是如何计算的呢?经过查找网上的各种资料,最后在这里给大伙分享一下我的总结!就以我的开发板的SDRAM的芯片手册的型号:h57v2562gtr60c为例。通过查看我的h57v2562gt
2018-01-13 11:13:54
1875
原创 Verilog中`define、parameter、localparam三者的区别及举例
1、概述 define:作用 -> 常用于定义常量可以跨模块、跨文件; 范围 -> 整个工程; parameter: 作用 -> 常用于模块间参数传递; 范围 -> 本module内有效的定义;
2018-01-12 19:05:25
7203
原创 FPGA 学习笔记(十二) 如何用串口发送32位数据?
在笔者之前所用的串口中,串口一次只能发送数据为8位,这跟串口通信的协议方式有关系。而最近笔者的项目中需要用到一次发送32位的数据。笔者最开始想到的是32位数据发送4次。 为了不改动原来的串口通信协议驱动,笔者设计了如下发送方式: 设计四个状态state,每个状态发送8位数据,发送完毕使能信号txd_flag送给state加一继续发送下一组8位数据,依次将32位数据发送完毕;always...
2017-03-16 15:24:40
14318
20
原创 FPGA 关于错误(10200)
Error (10200): Verilog HDL Conditional Statement error at delay.v(23): cannot match operand(s) in the condition to the corresponding edges in the enclosing event control of the alwa
2017-03-16 15:13:53
16814
2
原创 FPGA 学习笔记 (十) PLL核的定制
通常我们板子上所带的系统时钟是50Mhz,如果我们需要更高的频率就需要使用pll核,通过锁相环将频率倍频到更高的频率。
2017-02-07 15:27:45
3948
原创 Altium Designer 10.0 使用教程
总体设计顺序:新建集成库(.library) –> 新建原理图(.sch) –> 新建PCB(.pcb)
2017-02-02 21:15:55
11510
1
原创 FPGA 学习之路(八)深入理解状态机
状态机定义及分类什么是状态机:状态机通过不同的状态迁移来完成特定的逻辑操作(时序操作)状态机的分类:Moore型状态机和Mealy型状态机Moore型:状态机的变化只与当前的状态有关 Mealy型:状态机的变化不仅与当前的状态有关,还与输入有关如何创建状态机:状态机的创建可以分为一段式,两段式和三段式:一段式:所有的状态变化以及导致的输出变化都写在了一个always快中。在该...
2017-01-28 22:47:52
9120
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人