- 博客(29)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 FPGA笔记1——Verilog语法
逻辑值:0、1、X(不定)、Z(高阻态悬空状态)数字进制:二进制B:4’b0101四位二进制数字0101八进制o十进制d:4'd2四位十进制数2(二进制0010)十六进制h:4'ha四位十六进制数a(二进制1010)若未指定,默认32'd标识符用于定义模块名、端口名、信号名任意一组字母、数字、&、_的组合第一个字符必须是字母或者下划线区分大小写,不建议大小写混合使用普通内部信号建议全部小写推荐:sumcpu_addrclk_50clk_cpu数据类型:寄存...
2021-07-20 15:35:16
1272
原创 数据结构笔记 内部排序总结
相邻元素的值,若为逆序(即A[i-1]>A[i]),则交换它们,直到序列比较完。)都检查一遍,检查当前结点是否满足根≥左、右,如果不满足,将当前结点与更大的一个孩子互换,若调整过程中,元素互换破坏了下一级的堆,则采用相同的方法继续往下。合并成一个,只剩一个子表未合并时,可以将该表中剩余元素全部加到总表。(或基准,通常取首元素),通过一趟排序将待排序表划分为独立的两部分。(使得更小的元素都交换到左边,更大的元素都交换到右边):将含有n个元素的待排序表分成n/2个元素的子表,采用。
2023-09-14 10:52:49
112
原创 数据结构笔记5 栈-顺序表示和链式表示
顺序栈的结构类型一些操作:2.出栈操作二、栈的链式表示链式栈的结构类型一些操作:2.判断链栈是否为空3.入栈4.出栈5.取栈顶元素............................................................................................................
2022-07-01 20:13:45
223
原创 数据结构笔记3 线性表-链式表示-其他链表
二、线性表的顺序表示与实现-其他链表(一)循环链表合并两个带尾结点的循环链表:2.Ta尾结点指向Tb头结点3.释放掉Tb头结点4.Tb尾结点指向Ta头结点1.记得保存Ta头结点(首元结点)位置(注意执行顺序)时间复杂度O(1)(二)双链表1.双链表的插入如图,由于每个结点有了两个指针域,所以需要修改四个指针,但是可以直接访问其前驱s->prior = p->prior; //新结点的前驱指针p->prior-...
2022-04-19 16:12:19
352
原创 数据结构笔记1 线性表-顺序表示
预定义:一些操作:1. 线性表的初始化(参数为引用)//下列:函数返回类型 函数名称初始化线性表 参数表(参数类型 引用参数)Status InitList_Sq(SqList &L) { //构造一个空的线性表 L.elem = New ElemType[MAXSIZE]; //动态分配L.elem的内存,类型为ElemType,个数为MAXSIZE //也可以写: //L.elem = (ElemType*)malloc(size
2022-03-31 11:36:45
1210
1
原创 C语言笔记8 字符串(翁恺)
字符串:以(整数)0 结尾的一串字符,可以用'\0'代替。标志字符串的结束,但不是其的一部分,计算字符串长度不包括这个0。以数组的形式存在,可以以数组or指针的形式访问。不可以用运算符对字符串做运算,可以以数组的方式遍历。字符串常量:“hello”,长度加1,两个相邻的字符串常量会自动合并。...
2022-03-15 16:41:12
999
原创 关于scanf()里&的混淆
C语言中scanf()函数中的&是什么_爱养身的程序员的博客-CSDN博客_scanf中的&困惑初学者的C语言中scanf()函数中的&到底是何方神圣对于初入江湖的少侠而言,肯定有过这样一个困惑:为什么在使用scanf函数输入数据时有时需要在参数前加一个&,而有时却不用。今天bingo君就给各位少侠解答。在回答"&“是什么之前我们先来看看scanf:scanf函数的函数原型是这样的int scanfint scanf(const char * restric...ht
2022-03-14 10:45:14
314
原创 C语言笔记6 数组(翁恺)
定义数组<类型>变量名称 [元素数量]特点:所有元素有相同的数据类型 一旦创建不能改变大小 数组中的元素在内存中是依次连续排列的,可以出现在赋值的左边或右边(左值,右值) 数组的每个单元就是数组类型的一个变量,使用数组时放在[ ]中的数字叫做下标(索引),从0开始计数,最小grades[0],最大grades[n-1]。有效的下标范围:[0,n-1],程序必须保证有效一个经典的使用数组程序:统计数字0-9出现的个数 #include <stdio.h>..
2022-02-25 17:11:27
567
原创 C语言笔记5 函数(翁恺)
定义函数名(参数值),()表示其调用作用,没有参数也要有() 从函数中返回:return 停止函数的执行,并返回一个值 函数值可以赋值给变量,可以再传递给函数,甚至可以丢掉 viod 函数名(参数表)表示没有返回值的函数,不能使用带值的return,可以没有return,调用时不能做返回值的赋值函数的先后关系:先写函数的原型声明(即函数头; ),然后写主函数,后面写函数的定义传值:每个函数有自己的变量空间,参数也位于这个独立的空间中,和其他函数无关调用函数时给的值叫:值(实参
2022-02-24 21:37:14
380
原创 C语言笔记4 数据类型(翁恺)
C语言的类型整数:char, short, int, long, long long (C99) 浮点数: float, double, long double 逻辑: bool 指针 自定义类型差别:表达数范围:char (-128~127) <short (-32768~32767) <int <float <double 内存中所占据大小:char (1字节,8比特), short (2), int (取决于编译器CPU里面的寄存器字长),long(...
2022-02-23 16:48:13
301
原创 C语言笔记3 循环控制(翁恺)
for (初始条件;循环继续的条件;循环每一轮的动作){}for (对于)for(count=10;count>0;count--)对于一开始的count=10,当count>0时,重复做循环体,每一轮循环都在做完循环体内语句后,使得count--可以看作是计数器,计数某个值,执行多少次语句//计算n!int n;scanf("%d",&n);int fact = 1; //储存结果;做求和的程序时,记录结果的变量应该初始化为0 int i
2022-02-23 14:28:43
638
原创 VHDL编译错误
Error (10818): Can't infer register for "cnt[0]" at ctr.vhd(20) because it does not hold its value outside the clock edge原因:vhdl报错Error (10818): Can't infer register for q[0] at dianzhen.vhd(37) because i_百度知道https://zhidao.baidu.com/question/712059270
2021-10-24 15:57:48
2175
原创 C语言笔记2(翁恺) 判断、循环
第三周 判断if判断语句:只能是1/0 if (条件成立) { ... } if (exp) { st1 } else { st2 } else (exp1) { st1; } else if (exp2) { st2; } else { st3...
2021-08-14 16:07:13
131
原创 FPGA笔记8——串口通信(回环实验)
串口通信原理串行通信基础知识处理器与外部设备通信的两种方式:并行通信:数据的各个位用多条数据线同时传输。传输速度快,占用引脚多串行通信:数据分成一位一位的形式在一条传输线上逐个传输。传输速度慢,占用引脚少。串行通信的通信方式:同步通信:带时钟同步信号的数据传输,接收方和发送方在同一时钟的控制下,同步传输。异步通信:不带时钟同步信号的数据传输,接收方和发送方各自使用各自的时钟控制接受和发送。要约定好传输速率。串行通信的传输方向:单工:数据只能沿一个方向传输半双工:数据.
2021-08-13 20:19:01
1895
1
原创 FPGA笔记7——FIFO读写实验
FIFO简介(first-in-first-out)一个先进先出的存储器,一般用于不同时钟域(频率/相位不同)之间的数据传输(避免数据传输过程中的亚稳态,作为缓存),也常用于来实现不同位宽的接口的数据匹配实验任务在FIFO中写入256个数据,然后从FIFO中读出,验证是否正确...
2021-08-11 16:49:01
6149
原创 C语言笔记1(翁恺)_8.10
计算 1.变量(定义、赋值与初始化、输入) 2.常量 3.浮点数 4.表达式 【运算符(优先级、交换变量、复合赋值和递增递减)算子】
2021-08-10 18:55:49
144
原创 C语言笔记1——C语言概述
使用C语言的7个步骤并不是线性的,要在不同步骤之间往复编程机制用C语言编写程序时,编写的内容被储存在文本文件中,该文件被称为源代码文件(source code file)。大部分C系统,都要求文件名以.c结尾。目标代码又称机器语言代码2.1 简单的C程序示例1、stdio.h:标准输入/输出头文件2、main()一个函数名(必须从主函数开始运)int是main()函数的返回类型:返回的值是整数(返回给操作系统);圆括号中包含一些传入函数的信息,此例中没
2021-08-08 09:14:03
200
原创 FPGA笔记4——应用之按键控制蜂鸣器(按键消抖)
蜂鸣器:(有正负极区分)有源蜂鸣器,内部有振荡源,加上直流电压即可鸣叫无源蜂鸣器,内部无振荡源,需要输入振荡信号(高低电平),可调整频率硬件设计:输入高电平,蜂鸣器鸣叫实验任务:在按键按下时改变蜂鸣器状态分析:改变与FPGA相连的管脚输出电平,按下按键改变电平重点:检测按键按下时刻按键抖动:按下按键时高低电平不确定需要消除抖动方法①:延时采样,第一次检测按键状态发生变化后延时一段时间后采样最终状态(稳定状态),延时时间要超过抖动时间,一般设置为20m.
2021-07-23 16:58:30
1819
原创 FPGA笔记3——应用之按键控制LED
硬件设计:与芯片相连,按下开关,相应输入低电平实验任务:系统框图:分析:代码:module key_led( input clk, rst_n, input [3:0] key, output reg [3:0] led //否则默认wire类型,无法进行非阻塞赋值);//reg definereg [23:0] cnt; //0.2s计数器,位宽计算见流水灯篇re.
2021-07-23 10:12:41
405
原创 MSP430笔记3——串口发送数据
通用串行通信接口 UART模式串口号 波特率校验位(无校验) 数据位(8) 停止位默认(1)USCI——Ax模块:支持USCI——Bx模块定时器模式选择计数模式四种工作模式两种:捕捉/比较三种用途:定时、产生PWM波(脉冲宽度调制)、测量频率(两个信号时间间隔)在这里插入代码片...
2021-05-29 16:06:00
2651
原创 MSP430笔记4——定时器
定时器Timer_A(TA)基本寄存器TA控制寄存器 TACTLTASSELx:时钟源选择(TACLK00 ACLK01 SMCLK10 ~TACLK11)IDx:第一次分频控制(ID0一分频 ID1二分频 ID2四分频 ID3八分频)MC:工作模式控制(停止00 增01 连续10 增减11)TACLR:定时器清零,复位TA寄存器、时钟分频和计数方向;会自动复位并置0TAIE:定时器中断使能(0中断禁止 1中断允许)TAIFG:中断标志位(0没有中断 1有中断挂起)计数值
2021-05-29 16:05:24
1233
原创 MSP430笔记1——I/O口的设置(点亮LED)
基本配置PxDIR 选择寄存器 (x:1/2)0:输入 1:输出复位后默认:0000 0000PxOUT 输出寄存器0:低电平 1:高电平PxIN 输入寄存器读取某个端口连接的是高低电平(只读不写)PxREN 上拉/下拉电阻寄存器0:不使能外部电阻,该寄存器为无效状态 ;1:使能外部电阻,该寄存器为有效状态)PxSEL 功能选择寄存器0:普通I/O端口1:应用于外围电路的特殊功能(一旦置1则该引脚不能再用于中断)BITx(x:0~7) eg: BIT0:
2021-05-22 17:32:27
1209
原创 MSP430笔记5——ADC的使用
一、DTC的初始化设置SREFx 设置基准电压INCH 选择ADC输入通道/*设置ADC,采集电压*/void InitADC(void){ /*设置ADC时钟MCLK*/ ADC10CTL1 |= ADC10SSEL_2; /*ADC 2分频*/ ADC10CTL1 |= ADC10DIV_0; /*设置ADC基准源*/ ADC10CTL0 |= SREF_1; /*设置ADC采样保持时间64CLK*/ ADC10CTL0 |= ADC10SH
2021-05-21 17:33:08
3221
原创 MSP430笔记2——时钟模块UCS
时钟信号的产生时钟源:LFXT1CLKXT2CLKDCOCLK(1MHZ、8MHZ、12MHZ、16MHZ已校准)VLOCLK时钟信号:时钟源经过分频得到 可对时钟源分频1、2、4、8时钟信号来源用途默认ACLK 辅助时钟LFXT1CLK VLOCLK定时器、ADCLFXT1CLKMCLK 主时钟LFXT1CLK XT2CLK VLOCLK DCOCLKCPU和系统DCOSMCLK 副时钟LFXT1CLK XT2CLK VLOC
2021-05-16 10:05:05
227
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人