FPG—VGA显示器字符显示(附代码)

2023-11-20

目录

1.实操

1.1 字符取模

1.2 顶层模块

1.3 图像数据生成模块

1.3.1 模块框图

1.3.2 波形图绘制

1.3.3 代码编写

1.3.4 仿真验证

2.总结

      本例程大部分与VGA显示驱动内容相同,只是显示部分改变了,故此主要讲显示字符的方法。如有对VGA显示驱动不了解的朋友,建议先看这篇 http://t.csdn.cn/QqQzi 。

      由之前讲VGA显示彩条的原理可知显示的本质就是点阵,将有用信息与背景色区分就可以显示信息,例如军训时很火的方阵以及平时见到的广告牌。

      实验目标:在 VGA 显示器中心位置显示金色“天天向上”四个字,字符外的背景颜色为黑色。每个汉字大小为 56*56, 字模点阵为 64*64, VGA 显示模式为 640*480@60。

1.实操

1.1 字符取模

字符取模的基本原理

      一般使用 0、 1 的组合来描述点阵,点阵中的每一个数据项表示单个像素点,我们使用单比特来表示,字符显示部分的数据项赋值为 1,非字符显示部分的数据项赋值为 0。这种赋值方式不包含颜色信息,只是区分点阵背景和字符信息。字符点阵示例,具体见下图。

字符取模操作流程

1. 生成一个整体字模

      打开字符取模软件“PCtoLCD2002”,设置相关参数,将点阵大小设置为 64*64,字宽*字高设置为 56*56,字体随意;在下方文字输入框中输入要显示字符“天天向上”;注意,此处先不要进行字模生成,因为此处生成字模会得到四个字符各自对应的字模,不方便后续代码编写。

      将生成的字符点阵保存为 BMP 图片格式,保存为 BMP格式的目的就是为了将四个单独字符合成一个整体。

    再返回读取保存的 BMP 图片,四个字符已合为一个整体。

2. 设置字模输出的相关参数,生成字模、保存字模

     将模式调为图形模式后,在点击 “选项” 按照下图所示, 设置字模输出的相关参数。

     生成字模、保存字模

 字模保存完毕,字模点阵大小为 256*64。

       注意(1)进行下一次的字模生成,要将模式调回 字符模式 后再进行相关参数设置,否则无法修改参数设置,(2)汉字占两个字节,数字、字母和特殊符号占两个字节,在配置点阵大小时需注意。

1.2 顶层模块

       顶层模块设计如下图。

       以上模块除图像数据生成模块,其他模块在前面发布的VGA 显示器驱动设计与验证文章中已经详细说明,故不重复。

1.3 图像数据生成模块

1.3.1 模块框图

        图像数据生成模块,模块功能是以 VGA 时序控制模块传入的图像有效显示区域像素点坐标(pix_x,pix_y)为约束条件, 产生 VGA 图像像素点色彩信息 pix_data 并回传给 VGA 时序控制模块。在字符显示区域 pi_data 赋值为金色,其他区域均为黑色。模块框图,具体见下图。
 

   图像数据生成模块包含 4 路输入、 1 路输出,共 5 路信号,输入输出信号简介,具体见下表。

1.3.2 波形图绘制

第一部分:输入信号

      本模块的输入信号包括四路,时钟信号、复位信号和 VGA 驱动控制模块传入的有效显示区域的坐标信号 pix_x、 pix_y。时钟信号和复位信号无需多说,对于坐标信号 pix_x、pix_y,在之前的文章有详细讲解,在此不再过多叙述。
  第二部分:字符点阵显示区域坐标信号的设计与实现
      首先确定字符有效显示区域,区域大小与字符点阵大小相同,显示区域的像素点与字模点阵中数据项对应,当字模点阵中的数据项数值为“1”时,赋值字符颜色给对应像素点;当字模点阵中的数据项数值为“0”时,赋值点阵背景颜色给对应像素点。所以为了确定字符点阵显示区域256*64
声明两个变量 char_x、 char_y,两变量组成字符点阵显示区域坐标,在字符点阵有效显示区域内, char_x 信号 0-255 循环计数, char_y信号 0-63 循环计数 ,根据坐标(char_x,char_y)寻找字符点阵对应的数据项,根据数据项的数值,赋予对应坐标像素点颜色信息。 char_x、 char_y 信号波形具体见下图。

 第三部分: 输出图像数据信号的波形设计与实现

       设计本模块的目的是生成 VGA 图像像素点色彩信息回传给 VGA 时序控制模块,我们声明像素点色彩信息 pix_data 信号。在字符点阵显示区域内、字符点阵数据项数值为“1”时, pix_data 根据为字符颜色;其他区域均赋值为背景色。

1.3.3 代码编写

`timescale  1ns/1ns

module  vga_pic
(
    input   wire            vga_clk     ,   
    input   wire            sys_rst_n   ,   
    input   wire    [9:0]   pix_x       ,   //输入有效显示区域像素点X轴坐标
    input   wire    [9:0]   pix_y       ,   //输入有效显示区域像素点Y轴坐标

    output  reg     [15:0]  pix_data        //输出像素点色彩信息
);

parameter   CHAR_B_H=   10'd192 ,   //字符开始X轴坐标
            CHAR_B_V=   10'd208 ;   //字符开始Y轴坐标

parameter   CHAR_W  =   10'd256 ,   //字符宽度
            CHAR_H  =   10'd64  ;   //字符高度

parameter   BLACK   =   16'h0000,   //黑色
            WHITE   =   16'hFFFF,   //白色
            GOLDEN  =   16'hFEC0;   //金色

wire    [9:0]   char_x  ;   //字符显示X轴坐标
wire    [9:0]   char_y  ;   //字符显示Y轴坐标

//reg   define
reg     [255:0] char    [63:0]  ;   //位宽  与  列高

//字符显示坐标,组合逻辑0-255
assign  char_x  =   (((pix_x >= CHAR_B_H) && (pix_x < (CHAR_B_H + CHAR_W)))   //pix_x < (CHAR_B_H + CHAR_W)也可以写成 pix_x <= (CHAR_B_H + CHAR_W -1'b1)
                    && ((pix_y >= CHAR_B_V) && (pix_y < (CHAR_B_V + CHAR_H))))  
                    ? (pix_x - CHAR_B_H) : 10'h3FF;
assign  char_y  =   (((pix_x >= CHAR_B_H) && (pix_x < (CHAR_B_H + CHAR_W)))
                    && ((pix_y >= CHAR_B_V) && (pix_y < (CHAR_B_V + CHAR_H))))
                    ? (pix_y - CHAR_B_V) : 10'h3FF;

//char:“天天向上”字符数据(粘贴字模提取其中生成的数据)
always@(posedge vga_clk)
    begin
        char[0]     <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[1]     <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[2]     <=  256'h0000000000000000000000000000000000000080000000000000000000000000;
        char[3]     <=  256'h00000000000000000000000000000000000001E0000000000000008000000000;
        char[4]     <=  256'h00000000003000000000000000200000000001F000000000000000E000000000;
        char[5]     <=  256'h00000000007800000000000000300000000001E000000000000000FC00000000;
        char[6]     <=  256'h0000000000FC00000000000000780000000001C000000000000000F000000000;
        char[7]     <=  256'h00FFFFFFFFFE00000000000000FC00000000038000000000000000E000000000;
        char[8]     <=  256'h007FFFFFFFFF0000007FFFFFFFFE00000000038000000000000000E000000000;
        char[9]     <=  256'h003C00F80000000000200078000000000000030000000000000000E000000000;
        char[10]    <=  256'h000000F80000000000000078000000000000020000020000000000E000000000;
        char[11]    <=  256'h000000F80000000000000078000000000080060000030000000000E000000000;
        char[12]    <=  256'h000000F800000000000000700000000000E0040000078000000000E000000000;
        char[13]    <=  256'h000000F800000000000000700000000000FFFFFFFFFFC000000000E000000000;
        char[14]    <=  256'h000000F800000000000000700000000000E0000000078000000000E000000000;
        char[15]    <=  256'h000000F800000000000000700000000000E0000000070000000000E000000000;
        char[16]    <=  256'h000000F800000000000000700000000000E0000000070000000000E000000000;
        char[17]    <=  256'h000000F800000000000000700000000000E0000000070000000000E000000000;
        char[18]    <=  256'h000000F800000000000000700000000000E0000000070000000000E000100000;
        char[19]    <=  256'h000000F800000000000000700000000000E0000000070000000000E000380000;
        char[20]    <=  256'h000000F800070000000000700002000000E0000000070000000000E0007C0000;
        char[21]    <=  256'h000000F8000F8000000000700007000000E0000000070000000000E000FE0000;
        char[22]    <=  256'h000000F8001FC00000000070000F800000E0300010070000000000FFFFFF0000;
        char[23]    <=  256'h1FFFFFFFFFFFE00000000070001FC00000E038003C070000000000E000000000;
        char[24]    <=  256'h1FFFFFFFFFFFF0000FFFFFFFFFFFE00000E01FFFFC070000000000E000000000;
        char[25]    <=  256'h0F8001F700000000040000E20000000000E01C0038070000000000E000000000;
        char[26]    <=  256'h000001F700000000000000E20000000000E01C0038070000000000E000000000;
        char[27]    <=  256'h000001F700000000000000E20000000000E01C0038070000000000E000000000;
        char[28]    <=  256'h000001F380000000000001E30000000000E01C0038070000000000E000000000;
        char[29]    <=  256'h000003E380000000000001E10000000000E01C0038070000000000E000000000;
        char[30]    <=  256'h000003E380000000000001C18000000000E01C0038070000000000E000000000;
        char[31]    <=  256'h000003E1C0000000000001C18000000000E01C0038070000000000E000000000;
        char[32]    <=  256'h000007C1C0000000000003C0C000000000E01C0038070000000000E000000000;
        char[33]    <=  256'h000007C1E000000000000380C000000000E01C0038070000000000E000000000;
        char[34]    <=  256'h00000780E0000000000007806000000000E01C0038070000000000E000000000;
        char[35]    <=  256'h00000F80F0000000000007006000000000E01C0038070000000000E000000000;
        char[36]    <=  256'h00000F807800000000000F003000000000E01FFFF8070000000000E000000000;
        char[37]    <=  256'h00001F007800000000000E003800000000E01C0038070000000000E000000000;
        char[38]    <=  256'h00003E003C00000000001E001800000000E03C0038070000000000E000000000;
        char[39]    <=  256'h00003E003E00000000001C001C00000000E03C0038070000000000E000000000;
        char[40]    <=  256'h00007C001F000000000038000E00000000E0380000070000000000E000000000;
        char[41]    <=  256'h0000F8000F800000000070000F00000000E0200000070000000000E000000000;
        char[42]    <=  256'h0001F0000FC000000000E00007C0000000E0000000070000000000E000000000;
        char[43]    <=  256'h0003E00007F000000001E00003E0000000E0000000070000000000E000000000;
        char[44]    <=  256'h0007C00003F800000003800001F0000000E0000000070000000000E000008000;
        char[45]    <=  256'h000F800001FE00000007000000FC000000E0000000070000000000E00001C000;
        char[46]    <=  256'h001F000000FF8000000E0000007F000000E0000000070000000000E00003E000;
        char[47]    <=  256'h003E0000007FF000001C0000003FE00000E000000FFF0000000000E00007F000;
        char[48]    <=  256'h00780000003FFC0000300000001FF80000E0000003FF00001FFFFFFFFFFFF800;
        char[49]    <=  256'h01F00000001FF80000E00000000FE00000E00000007F00000800000000000000;
        char[50]    <=  256'h07C000000007C000018000000003C00000E00000003E00000000000000000000;
        char[51]    <=  256'h0F00000000038000060000000001800000E00000001C00000000000000000000;
        char[52]    <=  256'h1C00000000000000180000000000000000800000000000000000000000000000;
        char[53]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[54]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[55]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[56]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[57]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[58]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[59]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[60]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[61]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[62]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[63]    <=  256'h0000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000;
    end

//pix_data:输出像素点色彩信息,根据当前像素点坐标指定当前像素点颜色数据
always@(posedge vga_clk or negedge sys_rst_n)
    if(sys_rst_n == 1'b0)
        pix_data    <= BLACK;
    else    if((((pix_x >= (CHAR_B_H ))  
                && (pix_x < (CHAR_B_H + CHAR_W )))  //pix_x提前打一拍 【191-446】
                && ((pix_y >= CHAR_B_V) && (pix_y < (CHAR_B_V + CHAR_H))))
                && (char[char_y][10'd255 - char_x] == 1'b1))  //二维数组,当像素点为1时给金色
        pix_data    <=  GOLDEN;
    else
        pix_data    <=  BLACK;

endmodule

代码重难点积累:

(1)复制字模时,以notepad++打开 .txt 文件,复制格式不会出错。

(2)2char[char_y][10'd255 - char_x] == 1'b1 使用二位数组定位要显示的像素点。

1.3.4 仿真验证

`timescale  1ns/1ns

module  tb_vga_colorbar();

wire            hsync       ;
wire    [15:0]  rgb         ;
wire            vsync       ;

//reg   define
reg             sys_clk     ;
reg             sys_rst_n   ;

initial
    begin
        sys_clk     =   1'b1;
        sys_rst_n   <=  1'b0;
        #200
        sys_rst_n   <=  1'b1;
    end

//sys_clk:产生时钟
always  #10 sys_clk = ~sys_clk  ;


vga_colorbar    vga_colorbar_inst
(
    .sys_clk    (sys_clk    ),  
    .sys_rst_n  (sys_rst_n  ),  

    .hsync      (hsync      ),  
    .vsync      (vsync      ),  
    .rgb        (rgb        )   
);

endmodule

2.总结

      设计思想在于显示有效区域是传输数据。

说明:

       本人使用的是野火家Xilinx Spartan6系列开发板及配套教程主要用于自我学习,以上内容如有疑惑或错误欢迎评论区指出,或者移步B站观看野火家视频教程。

开发软件:ise14.7     仿真:modelsim 10.5 

如需上述资料私信或留下邮箱。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FPG—VGA显示器字符显示(附代码) 的相关文章

  • FPGA零基础学习之Vivado-ROM使用教程

    FPGA零基础学习之Vivado ROM使用教程 本系列将带来FPGA的系统性学习 从最基本的数字电路基础开始 最详细操作步骤 最直白的言语描述 手把手的 傻瓜式 讲解 让电子 信息 通信类专业学生 初入职场小白及打算进阶提升的职业开发者都
  • DDR3学习总结(一)

    简介 DDR3 SDRAM常 简称 DDR3 是当今较为常见的一种储存器 在计算机及嵌入式产品中得到广泛应用 特别是应用在涉及到大量数据交互的场合 比如电脑的内存条 对DDR3的读写操作大都借助IP核来完成 本次实验将采用 Xilinx公司
  • PRBS笔记

    1 概述 PRBS 伪随机二进制序列 也称为伪随机码 通常被用来测试高速信号的信号质量 伪随机 也说明了该码流并不是真正的随机 而是具有特性属性 码流由 多项式 决定 具有重复周期 PRBS具有多种阶数 如PRBS7 PRBS15 PRBS
  • PLL时钟约束

    方法 1 自动创建基时钟和 PLL 输出时钟 例 derive pll clocks 这一方法使您能够自动地约束 PLL 的输入和输出时钟 ALTPLL megafunction 中指定的 所有 PLL 参数都用于约束 PLL 的输入和输出
  • 【科普】波特率和比特速率的理解

    什么是波特率 单位时间内传输的码元个数称为波特率 单位为 Baud 那码元又是什么呢 码元又称为 符号 即 symbol 维基百科上对码元的解释 持续一段固定时间的通信信道有效状态就是码元 这么解释比较抽象 可以解释码元的物理意义 在通信信
  • MOS管的知识,看这一篇就可以了

    转载 21ic电子网 2020 11 15 18 19 以下文章来源于记得诚电子设计 作者记得诚 记得诚电子设计 分享电子硬件知识 永远相信美好的事情即将发生 今天的文章简单总结一下MOS管 如下是本文目录 场效应管分类 场效应管分为结型
  • 跨时钟域处理方法(一)——打拍

    一 说明 处理跨时钟域的数据可以分为单bit数据和多bit数据 而打拍的方法主要常见于处理单bit数据的跨时钟域问题 打拍的本质是通过添加寄存器 对输入的数据进行延拍 其主要目标是消除亚稳态的影响 常见的是打2拍 也就是添加2级寄存器 二
  • FPGA提示产生latch的报错

    在fpga的设计中有时会遇到 latch 的报错 1 latch是什么 Latch 就是锁存器 是一种在异步电路系统中 对输入信号电平敏感的单元 用来存储信息 锁存器在数据锁存使能时 数据被锁存 输入信号不起作用 这违背了组合逻辑中输出随输
  • 八、RISC-V SoC外设——GPIO接口 代码讲解

    前几篇博文中注释了RISC V的内核CPU部分 从这篇开始来介绍RISC V SoC的外设部分 另外 在最后一个章节中会上传额外添加详细注释的工程代码 完全开源 如有需要可自行下载 目录 0 RISC V SoC注解系列文章目录 1 结构
  • Verilog之assign

    Verilog中的关键词assign主要用于如下两个地方 数据流建模 用于数据流建模的显示连续赋值语句语法格式如下
  • 八段数码管动态显示(输入数据为BCD编码)

    八段数码管动态显示 输入数据为BCD编码 一 数码管概述 图1 八段共阴数码管内部等效原理图 图2 八段共阳数码管内部等效原理图 上面两图分别是对应八段共阴 共阳的数码管内部等效图 共阴是将八个LED数码管的阴极连接在一起接低 阳极segm
  • IC数字后端

    在 innovus 里面 有时候我们需要控制 tie cell 的 fanout 和 net length 来避免 tie cell 可能出现 max transition 或者 max fanout 的违例 一般来说 只要 fanout
  • xilinx xdma PCIe中断bug

    xilinx xdma PCIe中断存在bug bug1 此中断虽然是msi或者msx中断 但是不中断cpu bug2 此中断不是边沿中断 而是电平中断 在驱动层需要不断地轮训查询中断事件 bug3 此中断持续时间必须长 而且在收到中断应答
  • FPGA_时钟显示(时钟可调)

    1 实验说明 在数码管显示数据的基础上 让六位数码管显示数字时钟 并且通过按键可以对时间进行修改 实验目标 六位数码管分别显示时间的时分秒 且通过按键可实现加减调整时间及清零功能 key1 切换键 选择待调整的时间单位 时 分 秒 key2
  • 【FPGA】面试问题及答案整理合集

    面试问题及答案整理合集 1 硬件描述语言和软件编程语言的区别 2 FPGA选型问题 3 建立时间和保持时间问题 3 亚稳态问题 4 竞争和冒险问题 5 乒乓操作问题 6 同步和异步逻辑电路 7 同步复位和异步复位 8 MOORE 与 MEE
  • Verilog HDL——Modelsim仿真

    常用testbench语法 finish 和 stop finish任务用于终止仿真并跳出仿真器 stop任务则用于中止仿真 timescale time unit time precision time unit指定计时和延时的测量单位
  • BUCK电路分析(二)

    BUCK电路分析 二 PSIM仿真同步BUCK电路 在上片文章中 初步的分析了BUCK电路的工作原理 本章使用PSIM软件仿真BUCK电路 观察分析BUCK电路器件关键波形 图1是同步BUCK电路图 开关频率设置为200K 固定占空比 在仿
  • 画时序图软件——TimeGen和Timing Designer下载

    在写实验报告的时候需要画波形图 但是手头没有很好的软件 就上网搜了一些 分享出来 这里分享的是TimeGen和Timing Designer两个软件 资源均来自网上 有侵权请联系 TimeGen使用和安装都比较简单 我发的应该里面有破解方法
  • 【FMC141】基于VITA57.4标准的4通道2.8GSPS 16位DA播放子卡(2片DAC39J84)

    FMC141是一款基于VITA57 4标准的4通道2 8GSPS 2 5GSPS 1 6GSPS采样率16位DA播放FMC子卡 该板卡为FMC 标准 符合VITA57 4与VITA57 1规范 16通道的JESD204B接口通过FMC 连接
  • Matlab图像处理系列——图像复原之噪声模型仿真

    微信公众号上线 搜索公众号 小灰灰的FPGA 关注可获取相关源码 定期更新有关FPGA的项目以及开源项目源码 包括但不限于各类检测芯片驱动 低速接口驱动 高速接口驱动 数据信号处理 图像处理以及AXI总线等 本节目录 一 图像复原的模型 二

随机推荐

  • DevC++如何改成中文?

    DevC 如何改成中文 1 点击Tools工具 2 选择环境选项 3 选择简体中文 4 点击确定
  • 深入理解Google Cast(一)基本概念

    什么是google cast google cast允许用户将手机上的内容投影到TV上 然后用户可以将手机作为遥控器来控制TV上的媒体播放 Google cast SDK用于扩展你的app 使其支持google cast功能 一个Cast
  • 图像验证码识别(九)——训练和识别

    前面讲到已经把所有的字符经过去干扰 分割和归一化得到标准大小的单个字符 接下来要做的就是识别验证码了 现在要做的基本上也就和OCR没什么区别了 因为得到的字符已经是尽可能标准的了 下面的识别分为两个步骤 第一步先是特征值的提取 第二步是SV
  • ROC曲线绘制原理及如何用SPSS绘制ROC曲线

    本文同步发布于 脑之说 微信公众号 欢迎搜索关注 ROC曲线 Receiver operating characteristic curve 即受试者工作特征曲线 主要用来评价某个指标对两类被试 如病人和健康人 分类 诊断的效果 以及寻找最
  • 深入探索并发编程系列(五)-将内存乱序逮个正着

    当用C C 编写无锁代码时 一定要小心谨慎 以保证正确的内存顺序 不然的话 会发生一些诡异的事情 Intel在x86 x64体系结构手册的Volume 3 8 2 3 中列出了一些可能会发生的诡异的事情 这里介绍其中一个最简单的例子 假设在
  • autoware警告The ‘state_publisher‘ executable is deprecated. Please use ‘robot_state_publisher‘ instead

    在运行autoware官方demo autoware ai 的时候 启动my localization launch roslaunch autoware quickstart examples my localization launch
  • C++示例程序,演示如何将两个整数相加并打印结果

    include
  • iOS开发-国际化-配置App多语言

    作者 大慈大悲大熊猫 链接 http www jianshu com p 1edd4bda6fe5 來源 简书 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 基本设置 第一步 先在Project的info里添加所需要支
  • 使用Python对数据的操作转换

    1 列表加值转字典 在Python中 将列表的值转换为字典的键可以使用以下代码 myList name age location myDict k None for k in myList print myDict 输出 name None
  • 百度2012实习生校园招聘笔试题

    1 给一个单词a 如果通过交换单词中字母的顺序可以得到另外的单词b 那么b是a的兄弟单词 比如的单词army和mary互为兄弟单词 现在要给出一种解决方案 对于用户输入的单词 根据给定的字典找出输入单词有哪些兄弟单词 请具体说明数据结构和查
  • vue组件之间传值的几种方式

    这里写目录标题 vue组件传值 父传子 子传父 非父子组件传值 provide 和 inject 传值 事件总线传值 attrs listeners 使用 attrs listeners 进行子往上级传 vueX vue组件传值 父传子 父
  • Qt的基本语法及其使用(一)

    Qt的概念 Qt是通用的C 开发界面框架 C 图形用户界面 应用程序开发框架 既可以开发GUI程序也可以开发开发非GUI程序 Qt是面向对象的框架 使用特殊的代码生成扩展 Qt的历史 1991由QT公司研发 2008年被诺基亚收购 2012
  • C/C++ 引用作为函数的返回值

    语法 类型 函数名 形参列表 函数体 特别注意 1 引用作为函数的返回值时 必须在定义函数时在函数名前将 2 用引用作函数的返回值的最大的好处是在内存中不产生返回值的副本 代码来源 RUNOOB include
  • Microsoft Network Monitor 3.4简要说明

    第一次启动后是一个欢迎界面 左下角可以选择要监控的网络连接 在标签栏上点击右键 可以选择关闭这个页面 或者保留这个页面 关闭其他所有页面 点击工具栏第一个图标 NewCapture 就可以打开一个新的监控界面 点击工具栏上的 Start 按
  • RTSP,RTP,RTCP协议

    一 RTSP 1 简介 实时流传输协议 是一个应用层协议 TCP IP网络体系中 它是一个多媒体播放控制协议 主要用来使用户在播放流媒体时可以像操作本地的影碟机一样进行控制 即可以对流媒体进行暂停 继续 后退和前进等控制 RTSP体系结位于
  • 软件设计说明书模版(申请软件著作权可供参考)

    1 引言 1 1 编写目的 1 2 项目背景 1 2 项目概要 总体要求 2 1 系统功能概述 2 2 系统功能要求 软件开发 3 1 软件需求分析 3 2 软件的概要设计 3 2 1 软件概要设计说明 3 2 3 基本设计概念和处理流程
  • R 语言 基础教程 第6章 分类与预测建模(1)朴素贝叶斯分类,KNN算法,人工神经网络,CART算法,C4.5算法,决策树,回归分析,R语言数据分析

    关注公众号凡花花的小窝 收获更多的考研计算机专业编程相关的资料 分类与测分析是数据挖掘的主要技术手段之一 都属于分析数据的形式 至今已在理论和方法上取得了丰硕的研究成果 1 回归分析 数据分析概念 数据分析是指用适当的分析方法对收集来的大量
  • 液晶电视的MEMC(运动画质补偿技术)的优势不足

    MEMC Motion Estimate and Motion Compensation 即运动估计和运动补偿 液晶电视中用到的运动画质补偿技术 其原理是采用动态映像系统 在传统的两帧图像之间加插一帧运动补偿帧 将普通平板电视的50 60H
  • JDBC连接MySQL数据库

    开发工具与关键技术 IntelliJ IDEA java 撰写时间 2020年9月8日 一 JDBC简介 JDBC全称为 Java Data Base Connectivity java数据库连接 用Java语言操作数据库 可以为多种数据库
  • FPG—VGA显示器字符显示(附代码)

    目录 1 实操 1 1 字符取模 1 2 顶层模块 1 3 图像数据生成模块 1 3 1 模块框图 1 3 2 波形图绘制 1 3 3 代码编写 1 3 4 仿真验证 2 总结 本例程大部分与VGA显示驱动内容相同 只是显示部分改变了 故此