简化版动态点亮

  • 1. vivado文件编写,根据模块设计图
    • 1.1 点亮数码管之前首先产生一个100ms自增长的数据data[26:0]
      • 1.1.1 时序图
      • 1.1.2 data_gen.v 文件
      • 1.1.3 tb_data_gen.v 文件
    • 1.2 点亮数码管的核心在于将十进制数不通过除法器转换为二进制,这里使用bcd_8421码
      • 1.2.0 将十进制11转换为bcd_8421码的简单过程
      • 1.2.1 时序图
      • 1.2.2 bcd_8421.v文件
      • 1.2.3 tb_bcd_8421.v文件
    • 1.3 将bcd_8421包装为seg_dynamic
      • 1.3.1 时序图
      • 1.3.2 seg_dynamic.v文件
      • 1.3.3 tb_seg_dynamic.v文件
      • 1.3.4 sel信号和seg信号不同步的问题
    • 1.4 将seg_dynamic和data_gen包装为top_seg_dynamic
      • 1.4.1 top_seg_dynamic文件
      • 1.4.2 tb_top_seg_dynamic文件
  • 2. NEXYS4_DDR迪芝伦XC7A100TCSG324-1型的原理图与管脚绑定
    • 2.1相关原理图
    • 2.2 seg_dynamic.xdc文件

1. vivado文件编写,根据模块设计图

系统的时钟为100MHz,管脚E3提供;使用复位引脚为拨码开关,管脚K15

1.1 点亮数码管之前首先产生一个100ms自增长的数据data[26:0]

1.1.1 时序图

1.1.2 data_gen.v 文件

module  data_gen
#(parameter   CNT_100MS_MAX = 27'd9_999_999,parameter   DATA_MAX = 27'd99_999_999)
(input   wire           sys_clk     ,input   wire           sys_rst_n   ,output  reg     [26:0] data
);reg     [26:0]  cnt_100ms;
reg             cnt_flag;//cnt_100ms
always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)cnt_100ms <= 27'd0;else    if(cnt_100ms == CNT_100MS_MAX)cnt_100ms <= 27'd0;elsecnt_100ms <= cnt_100ms + 1'b1;//cnt_flag
always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)cnt_flag <= 1'b0;else    if(cnt_100ms == CNT_100MS_MAX - 1'b1)cnt_flag <= 1'b1;elsecnt_flag <= 1'b0;//data
always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)data <= 27'd0;else    if(cnt_flag == 1'b1 && data == DATA_MAX)data <= 27'd0;else    if(cnt_flag == 1'b1)data <= data + 1'b1;elsedata <= data;endmodule

1.1.3 tb_data_gen.v 文件

`timescale  1ns/1ns
module  tb_data_gen();reg    sys_clk;
reg    sys_rst_n;
wire    [26:0]  data;initialbegin sys_clk = 1'b0;sys_rst_n = 1'b0;#20sys_rst_n = 1'b1;endalways #10 sys_clk = ~sys_clk;data_gen
#(.CNT_100MS_MAX (27'd99_999_999),.DATA_MAX      (27'd99_999_999))
data_gen_inst
(.sys_clk    (sys_clk  ),.sys_rst_n  (sys_rst_n),.data       (data     )
);endmodule

1.2 点亮数码管的核心在于将十进制数不通过除法器转换为二进制,这里使用bcd_8421码

1.2.0 将十进制11转换为bcd_8421码的简单过程

转换的全程使用判断移位来完成,转换的数有几个二进制就要判断移位多少次,前面要添加 4n 个0
即十进制11 的二进制为1011,4位二进制,需要4次,添加 4
2 = 8个0
如果当前的数大于4,要进行 +3 再移位

1.2.1 时序图

1.2.2 bcd_8421.v文件

module  bcd_8421
(input   wire            sys_clk     ,input   wire            sys_rst_n   ,input   wire    [26:0]  data        ,output  reg     [3:0]   in          , //个output  reg     [3:0]   ten         , //十output  reg     [3:0]   hun         , //百output  reg     [3:0]   tho         , //千output  reg     [3:0]   ten_tho     , //万output  reg     [3:0]   hun_tho     , //十万output  reg     [3:0]   mil         , //百万output  reg     [3:0]   must          //千万);reg     [4:0]   cnt_shift   ;
reg     [58:0]  data_shift  ;
reg             shift_flag  ;always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)cnt_shift <= 5'd0;else    if((cnt_shift == 5'd28) && (shift_flag == 1'b1))cnt_shift <= 5'd0;else    if(shift_flag == 1'b1)cnt_shift <= cnt_shift + 1'b1;elsecnt_shift <= cnt_shift;always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)data_shift <= 59'd0;else    if(cnt_shift == 5'd0)data_shift <= {32'b0,data};else    if((cnt_shift <= 5'd27) && (shift_flag == 1'b0))begindata_shift[30:27] <= (data_shift[30:27] > 4) ? (data_shift[30:27] + 2'd3) : (data_shift[30:27]);data_shift[34:31] <= (data_shift[34:31] > 4) ? (data_shift[34:31] + 2'd3) : (data_shift[34:31]);data_shift[38:35] <= (data_shift[38:35] > 4) ? (data_shift[38:35] + 2'd3) : (data_shift[38:35]);data_shift[42:39] <= (data_shift[42:39] > 4) ? (data_shift[42:39] + 2'd3) : (data_shift[42:39]);data_shift[46:43] <= (data_shift[46:43] > 4) ? (data_shift[46:43] + 2'd3) : (data_shift[46:43]);data_shift[50:47] <= (data_shift[50:47] > 4) ? (data_shift[50:47] + 2'd3) : (data_shift[50:47]);data_shift[54:51] <= (data_shift[54:51] > 4) ? (data_shift[54:51] + 2'd3) : (data_shift[54:51]);data_shift[58:55] <= (data_shift[58:55] > 4) ? (data_shift[58:55] + 2'd3) : (data_shift[58:55]);endelse    if((cnt_shift <= 5'd27) && (shift_flag == 1'b1))    data_shift <= data_shift << 1;elsedata_shift <= data_shift;always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)shift_flag <= 1'b0;elseshift_flag <= ~shift_flag;always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)beginin      <= 4'b0;ten     <= 4'b0;hun     <= 4'b0;tho     <= 4'b0;ten_tho <= 4'b0;hun_tho <= 4'b0;mil     <= 4'b0;must    <= 4'b0;endelse    if(cnt_shift == 5'd28)beginin      <= data_shift[30:27];ten     <= data_shift[34:31];hun     <= data_shift[38:35];tho     <= data_shift[42:39];ten_tho <= data_shift[46:43];hun_tho <= data_shift[50:47];mil     <= data_shift[54:51];must    <= data_shift[58:55];endendmodule

1.2.3 tb_bcd_8421.v文件

`timescale  1ns/1ns
module  tb_bcd_8421();//声明变量
reg            sys_clk     ;
reg            sys_rst_n   ;
reg    [26:0]  data        ;wire     [3:0]   in        ;
wire     [3:0]   ten       ;
wire     [3:0]   hun       ;
wire     [3:0]   tho       ;
wire     [3:0]   ten_tho   ;
wire     [3:0]   hun_tho   ;
wire     [3:0]   mil       ;
wire     [3:0]   must      ; //初始化
initialbeginsys_clk = 1'b1;sys_rst_n <= 1'b0;data <= 27'd0;#30sys_rst_n <= 1'b1;data <= 27'd12_345_678;#3000data <= 27'd87_654_321;#3000data <= 27'd98_765_432;#3000data <= 27'd99_999_999;endalways #10 sys_clk = ~sys_clk;bcd_8421    bcd_8421_inst
(.sys_clk    (sys_clk  ),.sys_rst_n  (sys_rst_n),.data       (data     ),.in         (in       ), //个.ten        (ten      ), //十.hun        (hun      ), //百.tho        (tho      ), //千.ten_tho    (ten_tho  ), //万.hun_tho    (hun_tho  ), //十万.mil        (mil      ), //百万.must       (must     )  //千万
);endmodule

1.3 将bcd_8421包装为seg_dynamic

此处需要注意的问题就是数据同步,即sel信号和seg信号必须保持同步,否则会发生显示错误

1.3.1 时序图


从时序图中可以看出,seg_data 随着 cnt_sel 变化,且1ms改变一次,滞后 cnt_sel 一个周期 10ns,这里是否会因为in~must 变化太快而无法读取到准确的数值?

这里不会,原因是 data 数据变化的周期是100ms,远远大于 flag_1ms 和 cnt_sel 信号 1ms 的改变,即使 seg_data 读取一个完整的数据需要8个周期8ms,最后传到 seg 的数据也是准确的。

若是 data 数据的变化太快,小于 8ms ,此时 seg 的数据会出错;但是这种情况下,数码管显示的画面人眼是无法识别的,只能看到不停闪烁。

1.3.2 seg_dynamic.v文件

module  seg_dynamic
#(parameter   CNT_MAX =   17'd99_999
)
(input   wire            sys_clk     ,input   wire            sys_rst_n   ,input   wire    [26:0]  data        ,output  reg     [7:0]   sel         ,output  reg     [7:0]   seg
);wire     [3:0]   in          ;
wire     [3:0]   ten         ;
wire     [3:0]   hun         ;
wire     [3:0]   tho         ;
wire     [3:0]   ten_tho     ;
wire     [3:0]   hun_tho     ;
wire     [3:0]   mil         ;
wire     [3:0]   must        ;reg     [3:0]   seg_data    ;
reg     [2:0]   cnt_sel     ;reg     [16:0]  cnt_1ms     ;
reg             flag_1ms    ;//cnt_1ms:1ms循环计数
always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)cnt_1ms <=  17'd0;else    if(cnt_1ms == CNT_MAX)cnt_1ms <=  17'd0;elsecnt_1ms <=  cnt_1ms + 1'b1;//flag_1ms:1ms标志信号
always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)flag_1ms    <=  1'b0;else    if(cnt_1ms == CNT_MAX - 1'b1)flag_1ms    <=  1'b1;elseflag_1ms    <=  1'b0;//cnt_sel:从0到7循环数,用于选择当前显示的数码管
always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)cnt_sel <=  3'd0;else    if((cnt_sel == 3'd7) && (flag_1ms == 1'b1))cnt_sel <=  3'd0;else    if(flag_1ms == 1'b1)cnt_sel <=  cnt_sel + 1'b1;elsecnt_sel <=  cnt_sel;always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)seg_data <= 8'b0000_0011;elsebegincase(cnt_sel)3'd0: seg_data <= in     ;3'd1: seg_data <= ten    ;3'd2: seg_data <= hun    ;3'd3: seg_data <= tho    ;3'd4: seg_data <= ten_tho;3'd5: seg_data <= hun_tho;3'd6: seg_data <= mil    ;3'd7: seg_data <= must   ;endcaseendalways@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)sel <= 8'b0111_1111;else    if(flag_1ms == 1'b1)begincase(cnt_sel)3'd0: sel <= 8'b1111_1110;3'd1: sel <= 8'b1111_1101;3'd2: sel <= 8'b1111_1011;3'd3: sel <= 8'b1111_0111;3'd4: sel <= 8'b1110_1111;3'd5: sel <= 8'b1101_1111;3'd6: sel <= 8'b1011_1111;3'd7: sel <= 8'b0111_1111;endcaseendalways@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)seg <= 8'b0000_0011;else    if(flag_1ms == 1'b1)begincase(seg_data)4'd0: seg <= 8'b0000_0011;4'd1: seg <= 8'b1001_1111;4'd2: seg <= 8'b0010_0101;4'd3: seg <= 8'b0000_1101;4'd4: seg <= 8'b1001_1001;4'd5: seg <= 8'b0100_1001;4'd6: seg <= 8'b0100_0001;4'd7: seg <= 8'b0001_1111;4'd8: seg <= 8'b0000_0001;4'd9: seg <= 8'b0000_1001;endcaseendelseseg <= seg;bcd_8421    bcd_8421_inst
(.sys_clk    (sys_clk  ),.sys_rst_n  (sys_rst_n),.data       (data     ),.in         (in       ), //个.ten        (ten      ), //十.hun        (hun      ), //百.tho        (tho      ), //千.ten_tho    (ten_tho  ), //万.hun_tho    (hun_tho  ), //十万.mil        (mil      ), //百万.must       (must     )  //千万
);endmodule

1.3.3 tb_seg_dynamic.v文件

`timescale  1ns/1ns
module  tb_seg_dynamic();reg              sys_clk    ;
reg              sys_rst_n  ;
reg      [26:0]  data       ;wire     [7:0]   sel        ;
wire     [7:0]   seg        ;initialbegin sys_clk = 1'b0;sys_rst_n = 1'b0;data <= 27'd0;#20sys_rst_n = 1'b1;endalways #10 sys_clk = ~sys_clk;seg_dynamic
#(.CNT_MAX(17'd99_999)
)
seg_dynamic_inst
(.sys_clk    (sys_clk  ),.sys_rst_n  (sys_rst_n),.data       (data     ),.sel        (sel      ),.seg        (seg      )
);endmodule

1.3.4 sel信号和seg信号不同步的问题

always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)sel <= 8'b0111_1111;else    if(flag_1ms == 1'b1)begincase(cnt_sel)3'd0: sel <= 8'b1111_1110;3'd1: sel <= 8'b1111_1101;3'd2: sel <= 8'b1111_1011;3'd3: sel <= 8'b1111_0111;3'd4: sel <= 8'b1110_1111;3'd5: sel <= 8'b1101_1111;3'd6: sel <= 8'b1011_1111;3'd7: sel <= 8'b0111_1111;endcaseend

当此处语句缺少

if(flag_1ms == 1’b1)

会产生不同步,时序图会发生下面的变化,数码管会从第二位开始显示,第一位保持为0,发生显示错误

1.4 将seg_dynamic和data_gen包装为top_seg_dynamic

1.4.1 top_seg_dynamic文件

module  top_seg_dynamic
(input   wire            sys_clk     ,input   wire            sys_rst_n   ,output  wire    [7:0]   sel         ,output  wire    [7:0]   seg
);wire     [26:0]  data     ;data_gen
#(.CNT_100MS_MAX (27'd99_999_999),.DATA_MAX      (27'd99_999_999))
data_gen_inst
(.sys_clk    (sys_clk  ),.sys_rst_n  (sys_rst_n),.data       (data     )
);seg_dynamic
#(.CNT_MAX(17'd99_999)
)
seg_dynamic_inst
(.sys_clk    (sys_clk  ),.sys_rst_n  (sys_rst_n),.data       (data     ),.sel        (sel      ),.seg        (seg      )
);endmodule

1.4.2 tb_top_seg_dynamic文件

`timescale  1ns/1ns
module  tb_top_seg_dynamic();reg         sys_clk;
reg         sys_rst_n;wire    [7:0]   sel;
wire    [7:0]   seg;//初始化
initialbeginsys_clk = 1'b0;sys_rst_n <= 1'b0;#30sys_rst_n <= 1'b1;endalways #10 sys_clk = ~sys_clk;//defparam     top_seg_dynamic_inst.seg_dynamic_inst.CNT_MAX = 20'd5;
//defparam     top_seg_dynamic_inst.data_gen_inst.CNT_MAX = 20'd5;top_seg_dynamic top_seg_dynamic_inst
(.sys_clk    (sys_clk),.sys_rst_n  (sys_rst_n),.sel        (sel),.seg        (seg)
);
endmodule

2. NEXYS4_DDR迪芝伦XC7A100TCSG324-1型的原理图与管脚绑定

2.1相关原理图

数码管原理图

8个8位数码管,从左到右,且为共阳极数码管,即端口为低电平时点亮
片选信号为低电平时数码管亮

sel U13 K2 T14 P14 J14 T9 J18 J17
片选 AN7 AN6 AN5 AN4 AN3 AN2 AN1 AN0

数码管的显示示意图

共阳极,低电平时点亮

T10 R10 K16 K13 P15 T11 L18 H15
seg a b c d e f g dp 0h
0 0 0 0 0 0 0 1 1 03
1 1 0 0 1 1 1 1 1 9F
2 0 0 1 0 0 1 0 1 25
3 0 0 0 0 1 1 0 1 0D
4 1 0 0 1 1 0 0 1 99
5 0 1 0 0 1 0 0 1 49
6 0 1 0 0 0 0 0 1 41
7 0 0 0 1 1 1 1 1 1F
8 0 0 0 0 0 0 0 1 01
9 0 0 0 0 1 0 0 1 09
A 0 0 0 1 0 0 0 1 11
B 1 1 0 0 0 0 0 1 C1
C 0 1 1 0 0 0 1 1 63
D 1 0 0 0 0 1 0 1 85
E 0 1 1 0 0 0 0 1 61
F 0 1 1 1 0 0 0 1 71

2.2 seg_dynamic.xdc文件

set_property IOSTANDARD LVCMOS33 [get_ports sys_clk]
set_property IOSTANDARD LVCMOS33 [get_ports sys_rst_n]set_property IOSTANDARD LVCMOS33 [get_ports {seg[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {seg[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {seg[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {seg[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {seg[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {seg[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {seg[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {seg[0]}]set_property IOSTANDARD LVCMOS33 [get_ports {sel[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sel[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sel[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sel[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sel[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sel[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sel[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sel[0]}]set_property PACKAGE_PIN E3   [get_ports sys_clk]
set_property PACKAGE_PIN J15  [get_ports sys_rst_n]set_property PACKAGE_PIN J17 [get_ports {sel[0]}]
set_property PACKAGE_PIN J18 [get_ports {sel[1]}]
set_property PACKAGE_PIN T9  [get_ports {sel[2]}]
set_property PACKAGE_PIN J14 [get_ports {sel[3]}]
set_property PACKAGE_PIN P14 [get_ports {sel[4]}]
set_property PACKAGE_PIN T14 [get_ports {sel[5]}]
set_property PACKAGE_PIN K2  [get_ports {sel[6]}]
set_property PACKAGE_PIN U13 [get_ports {sel[7]}]set_property PACKAGE_PIN H15 [get_ports {seg[0]}]
set_property PACKAGE_PIN L18 [get_ports {seg[1]}]
set_property PACKAGE_PIN T11 [get_ports {seg[2]}]
set_property PACKAGE_PIN P15 [get_ports {seg[3]}]
set_property PACKAGE_PIN K13 [get_ports {seg[4]}]
set_property PACKAGE_PIN K16 [get_ports {seg[5]}]
set_property PACKAGE_PIN R10 [get_ports {seg[6]}]
set_property PACKAGE_PIN T10 [get_ports {seg[7]}]

NEXYS4_DDR迪芝伦XC7A100TCSG324-1型,点亮板载的8个8位数码管相关推荐

  1. NEXYS4_DDR迪芝伦XC7A100TCSG324-1型,VGA接口显示彩条

    vga彩条显示,640*480模式可以显示1600*900 1. VGA显示 1.1 VGA的端口定义 1.2 VGA的显示时序 1.3 像素点与时序 1.4 此处选择DELL_E2016HV型显示器 ...

  2. NEXYS4_DDR迪芝伦XC7A100TCSG324-1型,ADT7420测温

    ADT7420测温 0. 未理解的点 1. ADT7420简介 1.1 特性 1.2 引脚配置与原理图 1.3 寄存器 1.4 读写等操作时序 1.4.1 写单字节数据 1.4.2 写双字节数据 1. ...

  3. MATLAB加入螺旋相位板调制,连续型螺旋相位板设计方法与流程

    本发明涉及光学元件设计,尤其是螺旋相位板设计,属于光学技术领域. 背景技术: 目前,螺旋相位板是一种厚度与旋转方位角成正比的透明玻璃板,它可以将高功率平面光束转化为带有轨道角动量的涡旋光束,这种高功率 ...

  4. Opengl-模型(告别箱子加载模型)

    先放一个效果图 关于模型加载 一个非常流行的模型导入库是Assimp,它是Open Asset Import Library(开放的资产导入库)的缩写.Assimp能够导入很多种不同的模型文件格式(并 ...

  5. cpci计算机无法启动,CPCI军用坚固型特种计算机产品与解决方案 .pptx

    研祥CPCI军用坚固型特种计算机产品与解决方案;内容纲要;PICMG 2.0;组建了大陆最强大的CPCI产品研发队伍,可提供国内最完善.最齐全的CPCI加固产品解决方案.应用于多个行业:军工.通讯.轨 ...

  6. FPGA - 基于FPGA的HDMI显示

    写在前面 HDMI接口很早之前就想调试了,由于没有时间,就拖到了现在,而且毕业设计也是和视频处理系统有关,就趁这个机会把这个接口调试下. 开发环境 vivado 18.3 pynq - z2 HDMI ...

  7. 【PYNQ】PYNQ的视频资料介绍

    <这个是之前B站的粉丝说想看> 板卡购买: Digilent(迪芝伦)PYNQ 目录 微信公众号:PYNQ开源社区 百度/CSDN博客 Bilibili GitHub/ Gitee(开源项 ...

  8. 基于FPGA的HDMI显示(二)

    基于FPGA的720P HDMI显示 1.4.1 HDMI 硬件电路分析   本次设计采用了 IO 模拟的方式实现 HDMI 的功能.与采用专用 HDMI 芯片相比,此方案具有成本更低.效果不输于采用 ...

  9. FPGA接口-PMOD,FMC与SYZYGY

    现代FPGA 功能强大,它通过芯片的可编程引脚与外围电路相连.比如AD/DA,数字IO以及以太网,USB,CAN ,视频I/O 等接口电路.人们将这些接口称为夹层模块(Mezzanine Module ...

最新文章

  1. vue组件级路由钩子函数介绍,及实际应用
  2. Flink Operator之CoGroup、Join以及Connect
  3. win8下cocos2dx3.2移植android平台及代码打包APK
  4. 简单图形打印(需求分解)
  5. aes加密 java_Android逆向中记算法识别(aes、tea、md5)
  6. GB-T 16260.1-2006 软件工程 产品质量
  7. iOS开发--一步步教你彻底学会『iOS应用间相互跳转』
  8. IT技术 VS IT管理!为什么国内大公司都看不起搞技术的?
  9. Android开发笔记(成长轨迹)
  10. php支持微信h5支付,PHP接入微信H5支付的方法示例
  11. 制冷行业人人必备的设计与仿真软件大全!(附下载)
  12. 别让你的项目,毁在单片机选型上
  13. 适合儿童学习的编程语言一览
  14. axure能做剪切蒙版吗_***自动售货机能做吗
  15. Context上下文到底是个什么东东?
  16. 坎坷的微信小程序【笔记】
  17. i5 11400f和i5 11400区别?哪个好?深度爆料评测
  18. java递归1加到10,递归1-初识递归
  19. 在Excel中给不足位数的数字前面补0
  20. Confluence迁移中遇到的问题(Data too long for column #39;STRINGVAL#39;)及解决方法

热门文章

  1. Video process: 视频剪辑和格式转换 (windows)
  2. 62.根据系统进程快照获得枚举系统进程PROCESSENTRY32、CreateToolhelp32Snapshot、Process32First、Process32Next
  3. nasm assembly 语法
  4. CentOS下网页百度网盘下载资料
  5. 【布谷鸟来客提醒V4.0 官方版】淘宝店铺监控软件
  6. js在线scss转css的方法
  7. 团体队列(Team Queue,UVA 540)
  8. 基于docker的hadoop集群搭建
  9. MySQL数据库基础——基本操作
  10. 牛刀:2011年房价下跌20%只是臆想