ZYNQ_project:LCD

 

 

模块框图:

时序图:

代码:

/*
// 24'h000000   4324 9Mhz   480*272
// 24'h800000   7084 33Mhz  800*480
// 24'h008080   7016 50Mhz  1024*600
// 24'h000080   4384 33Mhz  800*480
// 24'h800080   1018 70Mhz  1280*800
*/
module  rd_id(input       wire                sys_clk     ,input       wire                sys_rst_n   ,input       wire    [23:0]      lcd_rgb     , output      reg     [15:0]      lcd_id      
);reg                 rd_flag ;always @(posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) rd_flag <= 1'b1 ;elserd_flag <= 1'b0 ;endalways @(posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) lcd_id <= 24'd0 ;else if(rd_flag) begincase (lcd_rgb)24'h000000: lcd_id <= 16'd4324 ;24'h800000: lcd_id <= 16'd7084 ;24'h008080: lcd_id <= 16'd7016 ;24'h000080: lcd_id <= 16'd4384 ;24'h800080: lcd_id <= 16'd1018 ;default   : lcd_id <= 16'd1018 ;endcaseendendendmodule
module  clk_div(input       wire                sys_clk     ,input       wire                sys_rst_n   ,input       wire    [15:0]      lcd_id      ,output      reg                 clk_lcd     ,output      wire                rst_n       
);wire                clk_9Mhz    ; wire                clk_33Mhz   ;wire                clk_50Mhz   ;wire                clk_70Mhz   ;wire                locked      ;   assign  rst_n   = (sys_rst_n && locked) ;always @(*) begincase (lcd_id)16'd4324: clk_lcd <= clk_9Mhz  ;16'd7084: clk_lcd <= clk_33Mhz ;16'd7016: clk_lcd <= clk_50Mhz ;16'd4384: clk_lcd <= clk_33Mhz ;16'd1018: clk_lcd <= clk_70Mhz ;default : clk_lcd <= 1'b0      ;endcaseendpll pll_inst(.clk_in         ( sys_clk   ) ,.resetn         ( sys_rst_n ) ,.clk_9Mhz       ( clk_9Mhz  ) ,.clk_33Mhz      ( clk_33Mhz ) ,.clk_50Mhz      ( clk_50Mhz ) ,.clk_70Mhz      ( clk_70Mhz ) ,.locked         ( locked    ) 
);endmodule
// 根据传进来的有效图像坐标信息,产生有效的像素数据。
module lcd_display (input       wire                sys_clk     ,input       wire                sys_rst_n   ,input       wire    [10:0]      axi_x       ,input       wire    [10:0]      axi_y       ,input       wire    [10:0]      H_SYNC      ,input       wire    [10:0]      H_BACK      ,input       wire    [10:0]      H_DISP      ,input       wire    [10:0]      V_SYNC      ,input       wire    [10:0]      V_BACK      ,input       wire    [10:0]      V_DISP      ,output      reg     [23:0]      pix_data                    
);localparam  BLACK       = 24'h000000 , // 黑色WHITE       = 24'hFFFFFF , // 白色RosyBrown   = 24'hBC8F8F , // 玫瑰褐RED         = 24'hFF0000 , // 红色APRICOT     = 24'hE69966 , // 杏黄色VIOLET      = 24'h8B00FF , // 紫罗兰色LINEN       = 24'hFAF0E6 , // 亚麻色KHAKI       = 24'h996B1F , // 卡其色PEACH       = 24'hFFE5B4 , // 桃色GOLDEN      = 24'hFFD700 , // 金色SkyBule     = 24'h87CEEB ; // 天空蓝always @(posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) pix_data <= BLACK ;else if((axi_y >= V_SYNC + V_BACK) && (axi_y <= V_SYNC + V_BACK + V_DISP - 1)) begin// 在场同步有效区间内if((axi_x >= H_SYNC + H_BACK) && (axi_x <= H_SYNC + H_BACK + H_DISP/10 - 1))  pix_data <= WHITE ; else if((axi_x >= H_SYNC + H_BACK + H_DISP/10) && (axi_x <= H_SYNC + H_BACK + (H_DISP/10)*2 - 1))pix_data <= BLACK ;else if((axi_x >= H_SYNC + H_BACK + (H_DISP/10)*2) && (axi_x <= H_SYNC + H_BACK + (H_DISP/10)*3 - 1))pix_data <= RosyBrown ;else if((axi_x >= H_SYNC + H_BACK + (H_DISP/10)*3) && (axi_x <= H_SYNC + H_BACK + (H_DISP/10)*4 - 1))pix_data <= APRICOT ;else if((axi_x >= H_SYNC + H_BACK + (H_DISP/10)*4) && (axi_x <= H_SYNC + H_BACK + (H_DISP/10)*5 - 1))pix_data <= RED ;else if((axi_x >= H_SYNC + H_BACK + (H_DISP/10)*5) && (axi_x <= H_SYNC + H_BACK + (H_DISP/10)*6 - 1))pix_data <= VIOLET ;else if((axi_x >= H_SYNC + H_BACK + (H_DISP/10)*6) && (axi_x <= H_SYNC + H_BACK + (H_DISP/10)*7 - 1))pix_data <= KHAKI ;elseif((axi_x >= H_SYNC + H_BACK + (H_DISP/10)*7) && (axi_x <= H_SYNC + H_BACK + (H_DISP/10)*8 - 1))pix_data <= PEACH ;elseif((axi_x >= H_SYNC + H_BACK + (H_DISP/10)*8) && (axi_x <= H_SYNC + H_BACK + (H_DISP/10)*9 - 1))pix_data <= GOLDEN ;elseif((axi_x >= H_SYNC + H_BACK + (H_DISP/10)*9) && (axi_x <= H_SYNC + H_BACK + (H_DISP/10)*10 - 1))pix_data <= SkyBule ;elsepix_data <= BLACK ;endelse  pix_data <= BLACK ;endendmodule
// 接口模块,产生接口时序。又名驱动模块。
// 产生像素信息,有效信号。其余信号直接赋值1
module lcd_driver (input       wire                sys_clk     ,input       wire                sys_rst_n   ,input       wire    [23:0]      pix_data    ,input       wire    [15:0]      lcd_id      ,output      wire    [10:0]      H_SYNCtoDIS ,output      wire    [10:0]      H_BACKtoDIS ,output      wire    [10:0]      H_DISPtoDIS ,output      wire    [10:0]      V_SYNCtoDIS ,output      wire    [10:0]      V_BACKtoDIS ,output      wire    [10:0]      V_DISPtoDIS ,output      reg                 lcd_de      ,output      wire    [23:0]      lcd_rgb_out ,output      wire                lcd_bl      ,output      wire                lcd_rstn    ,output      wire                lcd_hsync   ,output      wire                lcd_vsync   ,output      wire                lcd_clk     ,output      wire    [10:0]      axi_x       , output      wire    [10:0]      axi_y       
);// localparam
// 4.3' 480*272 localparam  H_SYNC_4342   =  11'd41     ,   H_BACK_4342   =  11'd2      ,    H_DISP_4342   =  11'd480    ,  H_FRONT_4342  =  11'd2      ,    H_TOTAL_4342  =  11'd525    ,  V_SYNC_4342   =  11'd10     ,   V_BACK_4342   =  11'd2      ,    V_DISP_4342   =  11'd272    ,  V_FRONT_4342  =  11'd2      ,    V_TOTAL_4342  =  11'd286    ,  // 7' 800*480   H_SYNC_7084   =  11'd128    ,  H_BACK_7084   =  11'd88     ,   H_DISP_7084   =  11'd800    ,  H_FRONT_7084  =  11'd40     ,   H_TOTAL_7084  =  11'd1056   , V_SYNC_7084   =  11'd2      ,    V_BACK_7084   =  11'd33     ,   V_DISP_7084   =  11'd480    ,  V_FRONT_7084  =  11'd10     ,   V_TOTAL_7084  =  11'd525    ,  // 7' 1024*600   H_SYNC_7016   =  11'd20     ,   H_BACK_7016   =  11'd140    ,  H_DISP_7016   =  11'd1024   , H_FRONT_7016  =  11'd160    ,  H_TOTAL_7016  =  11'd1344   , V_SYNC_7016   =  11'd3      ,    V_BACK_7016   =  11'd20     ,   V_DISP_7016   =  11'd600    ,  V_FRONT_7016  =  11'd12     ,   V_TOTAL_7016  =  11'd635    ,  // 10.1' 1280*800   H_SYNC_1018   =  11'd10     ,   H_BACK_1018   =  11'd80     ,   H_DISP_1018   =  11'd1280   , H_FRONT_1018  =  11'd70     ,   H_TOTAL_1018  =  11'd1440   , V_SYNC_1018   =  11'd3      ,    V_BACK_1018   =  11'd10     ,   V_DISP_1018   =  11'd800    ,  V_FRONT_1018  =  11'd10     ,   V_TOTAL_1018  =  11'd823    ,  // 4.3' 800*480   H_SYNC_4384   =  11'd128    ,  H_BACK_4384   =  11'd88     ,   H_DISP_4384   =  11'd800    ,  H_FRONT_4384  =  11'd40     ,   H_TOTAL_4384  =  11'd1056   , V_SYNC_4384   =  11'd2      ,    V_BACK_4384   =  11'd33     ,   V_DISP_4384   =  11'd480    ,  V_FRONT_4384  =  11'd10     ,   V_TOTAL_4384  =  11'd525    ;  // 不同分辨率时序参数不同reg     [10:0]      H_SYNC  ;reg     [10:0]      H_BACK  ;reg     [10:0]      H_DISP  ;reg     [10:0]      H_FRONT ;reg     [10:0]      H_TOTAL ;reg     [10:0]      V_SYNC  ;reg     [10:0]      V_BACK  ;reg     [10:0]      V_DISP  ;reg     [10:0]      V_FRONT ;reg     [10:0]      V_TOTAL ;// reg signal define reg     [10:0]      cnt_row ; // 行计数器,记录一行中的第几列。行计数器归零,说明一行扫描完。reg     [10:0]      cnt_col ; // 列计数器,记录一列中的第几行。列计数器归零,说明一帧图像扫描完。// wire signal definewire                valid_H ; // 行时序有效信号wire                valid_V ; // 列时序有效信号wire                valid_HV; // 图像有效信号,由于lcd_display模块中产生像素数据信息是时序逻辑,所以lcd_de信号要对图像有效信号打1拍。/**************************************************************************************************************************************main code*********************************************************************************************************************************/// 时序参数赋值always @(*) begincase(lcd_id)16'd4324:   beginH_SYNC  = H_SYNC_4342  ;H_BACK  = H_BACK_4342  ;H_DISP  = H_DISP_4342  ;H_FRONT = H_FRONT_4342 ;H_TOTAL = H_TOTAL_4342 ;V_SYNC  = V_SYNC_4342  ;V_BACK  = V_BACK_4342  ;V_DISP  = V_DISP_4342  ;V_FRONT = V_FRONT_4342 ;V_TOTAL = V_TOTAL_4342 ;end16'd7084:   beginH_SYNC  = H_SYNC_7084  ;H_BACK  = H_BACK_7084  ;H_DISP  = H_DISP_7084  ;H_FRONT = H_FRONT_7084 ;H_TOTAL = H_TOTAL_7084 ;V_SYNC  = V_SYNC_7084  ;V_BACK  = V_BACK_7084  ;V_DISP  = V_DISP_7084  ;V_FRONT = V_FRONT_7084 ;V_TOTAL = V_TOTAL_7084 ;end16'd7016:   beginH_SYNC  = H_SYNC_7016  ;H_BACK  = H_BACK_7016  ;H_DISP  = H_DISP_7016  ;H_FRONT = H_FRONT_7016 ;H_TOTAL = H_TOTAL_7016 ;V_SYNC  = V_SYNC_7016  ;V_BACK  = V_BACK_7016  ;V_DISP  = V_DISP_7016  ;V_FRONT = V_FRONT_7016 ;V_TOTAL = V_TOTAL_7016 ;end16'd4384:   beginH_SYNC  = H_SYNC_4384  ;H_BACK  = H_BACK_4384  ;H_DISP  = H_DISP_4384  ;H_FRONT = H_FRONT_4384 ;H_TOTAL = H_TOTAL_4384 ;V_SYNC  = V_SYNC_4384  ;V_BACK  = V_BACK_4384  ;V_DISP  = V_DISP_4384  ;V_FRONT = V_FRONT_4384 ;V_TOTAL = V_TOTAL_4384 ;end16'd1018:   beginH_SYNC  = H_SYNC_1018  ;H_BACK  = H_BACK_1018  ;H_DISP  = H_DISP_1018  ;H_FRONT = H_FRONT_1018 ;H_TOTAL = H_TOTAL_1018 ;V_SYNC  = V_SYNC_1018  ;V_BACK  = V_BACK_1018  ;V_DISP  = V_DISP_1018  ;V_FRONT = V_FRONT_1018 ;V_TOTAL = V_TOTAL_1018 ;enddefault :   beginH_SYNC  = H_SYNC_1018  ;H_BACK  = H_BACK_1018  ;H_DISP  = H_DISP_1018  ;H_FRONT = H_FRONT_1018 ;H_TOTAL = H_TOTAL_1018 ;V_SYNC  = V_SYNC_1018  ;V_BACK  = V_BACK_1018  ;V_DISP  = V_DISP_1018  ;V_FRONT = V_FRONT_1018 ;V_TOTAL = V_TOTAL_1018 ;endendcaseend// // reg signal define // reg     [10:0]      cnt_row ; // 行计数器,记录一行中的第几列。行计数器归零,说明一行扫描完。always @(posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) cnt_row <= 11'd0 ;else if(cnt_row == (H_TOTAL - 1))cnt_row <= 11'd0 ;else cnt_row <= cnt_row + 1'b1 ;end// reg     [10:0]      cnt_col ; // 列计数器,记录一列中的第几行。列计数器归零,说明一帧图像扫描完。always @(posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) cnt_col <= 11'd0 ;else if((cnt_col == (V_TOTAL - 1)) && (cnt_row == (H_TOTAL - 1)))cnt_col <= 11'd0 ;else if(cnt_row == (H_TOTAL - 1))cnt_col <= cnt_col + 1'b1 ;else cnt_col <= cnt_col ;end// // wire signal define// wire                valid_H ; // 行时序有效信号assign  valid_H = ((cnt_row >= H_SYNC + H_BACK) && (cnt_row <= H_SYNC + H_BACK + H_DISP - 1)) ? 1'b1 : 1'b0 ;// wire                valid_V ; // 列时序有效信号assign  valid_V = ((cnt_col >= V_SYNC + V_BACK) && (cnt_col <= V_SYNC + V_BACK + V_DISP - 1)) ? 1'b1 : 1'b0 ;// wire                valid_HV; // 图像有效信号,由于lcd_display模块中产生像素数据信息是时序逻辑,所以lcd_de信号要对图像有效信号打1拍。assign  valid_HV = (valid_H && valid_V) ;// output      wire    [10:0]      axi_x       , assign  axi_x = (valid_HV) ? cnt_row : 11'd0 ;// output      wire    [10:0]      axi_y       ,assign  axi_y = (valid_HV) ? cnt_col : 11'd0 ;// output      wire    [23:0]      lcd_rgb_out ,assign  lcd_rgb_out = pix_data  ;// output      reg                 lcd_de      ,always @(posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) lcd_de <= 1'b0 ;else lcd_de <= valid_HV ;end// 本实验没用到的信号,赋值1;assign  lcd_bl    = 1'b1 ;assign  lcd_rstn  = 1'b1 ;assign  lcd_hsync = 1'b1 ;assign  lcd_vsync = 1'b1 ;assign  lcd_clk   = (sys_rst_n == 1'b1) ? sys_clk : 1'b0 ;// 传给像素数据生成模块的时序参数assign  H_SYNCtoDIS = H_SYNC ;assign  H_BACKtoDIS = H_BACK ;assign  H_DISPtoDIS = H_DISP ;assign  V_SYNCtoDIS = V_SYNC ;assign  V_BACKtoDIS = V_BACK ;assign  V_DISPtoDIS = V_DISP ;endmodule

module top (input		wire				sys_clk		,input		wire				sys_rst_n	,inout       wire    [23:0]      lcd_rgb     ,output      wire                lcd_de      ,output      wire                lcd_bl      ,output      wire                lcd_rstn    ,output      wire                lcd_hsync   ,output      wire                lcd_vsync   ,output      wire                lcd_clk        
);// inoutwire    [23:0]      lcd_rgb_out ;wire    [23:0]      lcd_rgb_in  ;assign              lcd_rgb     = (lcd_de) ? lcd_rgb_out : 24'dz ;assign              lcd_rgb_in  = lcd_rgb                        ;// 例化间连线wire    [15:0]      lcd_id      ;wire                clk_lcd     ;wire                rst_n       ;wire    [10:0]      H_SYNCtoDIS ;wire    [10:0]      H_BACKtoDIS ;wire    [10:0]      H_DISPtoDIS ;wire    [10:0]      V_SYNCtoDIS ;wire    [10:0]      V_BACKtoDIS ;wire    [10:0]      V_DISPtoDIS ;wire    [10:0]      axi_x       ; wire    [10:0]      axi_y       ;wire    [23:0]      pix_data    ;    rd_id rd_id_inst(.sys_clk                    ( sys_clk       ) ,.sys_rst_n                  ( sys_rst_n     ) ,.lcd_rgb                    ( lcd_rgb_in    ) , .lcd_id                     ( lcd_id        ) 
);clk_div clk_div_inst(.sys_clk                    ( sys_clk       ) ,.sys_rst_n                  ( sys_rst_n     ) ,.lcd_id                     ( lcd_id        ) ,.clk_lcd                    ( clk_lcd       ) ,.rst_n                      ( rst_n         )  
);lcd_driver lcd_driver_inst(.sys_clk                    ( clk_lcd       ) ,.sys_rst_n                  ( rst_n         ) ,.pix_data                   ( pix_data      ) ,.lcd_id                     ( lcd_id        ) ,.H_SYNCtoDIS                ( H_SYNCtoDIS   ) ,.H_BACKtoDIS                ( H_BACKtoDIS   ) ,.H_DISPtoDIS                ( H_DISPtoDIS   ) ,.V_SYNCtoDIS                ( V_SYNCtoDIS   ) ,.V_BACKtoDIS                ( V_BACKtoDIS   ) ,.V_DISPtoDIS                ( V_DISPtoDIS   ) ,.lcd_de                     ( lcd_de        ) ,.lcd_rgb_out                ( lcd_rgb_out   ) ,.lcd_bl                     ( lcd_bl        ) ,.lcd_rstn                   ( lcd_rstn      ) ,.lcd_hsync                  ( lcd_hsync     ) ,.lcd_vsync                  ( lcd_vsync     ) ,.lcd_clk                    ( lcd_clk       ) ,.axi_x                      ( axi_x         ) , .axi_y                      ( axi_y         )  
);lcd_display lcd_display_inst(.sys_clk                    ( clk_lcd       ) ,.sys_rst_n                  ( rst_n         ) ,.axi_x                      ( axi_x         ) , .axi_y                      ( axi_y         ) ,.H_SYNC                     ( H_SYNCtoDIS   ) ,.H_BACK                     ( H_BACKtoDIS   ) ,.H_DISP                     ( H_DISPtoDIS   ) ,.V_SYNC                     ( V_SYNCtoDIS   ) ,.V_BACK                     ( V_BACKtoDIS   ) ,.V_DISP                     ( V_DISPtoDIS   ) ,.pix_data                   ( pix_data      )                    
);endmodule

`timescale 1ns/1ns
module test_top();reg                 sys_clk     ;reg                 sys_rst_n   ;wire    [23:0]      lcd_rgb     ;wire                lcd_de      ;wire                lcd_bl      ;wire                lcd_rstn    ;wire                lcd_hsync   ;wire                lcd_vsync   ;wire                lcd_clk     ;assign  lcd_rgb = lcd_de ?  {24{1'bz}} :  24'h80;top top_inst(.sys_clk	        ( sys_clk   ) ,.sys_rst_n	        ( sys_rst_n ) ,.lcd_rgb            ( lcd_rgb   ) ,.lcd_de             ( lcd_de    ) ,.lcd_bl             ( lcd_bl    ) ,.lcd_rstn           ( lcd_rstn  ) ,.lcd_hsync          ( lcd_hsync ) ,.lcd_vsync          ( lcd_vsync ) ,.lcd_clk            ( lcd_clk   )  
);parameter CYCLE = 20 ;initial beginsys_clk    = 1'b1 ;sys_rst_n <= 1'b0 ;#( CYCLE * 10 )   ;#2                ;sys_rst_n <= 1'b1 ;#( CYCLE * 1000 ) ;$stop             ;endalways #( CYCLE / 2 ) sys_clk = ~sys_clk ;endmodule

仿真:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/155233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决java在idea运行正常,但是打成jar包后中文乱码问题

目录 比如&#xff1a; 打包命令使用utf-8编码&#xff1a; 1.当在idea中编写的程序,运行一切正常.但是当被打成jar包时,执行的程序会中文乱码.产生问题的原因和解决方案是什么呢? 一.问题分析 分别使用idea和jar包形式打印出System中所有的jvm参数---代码如下: public static…

【设计模式】行为型设计模式

行为型设计模式 文章目录 行为型设计模式一、概述二、责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;三、命令模式&#xff08;Command Pattern&#xff09;四、解释器模式&#xff08;Interpreter Pattern&#xff09;五、迭代器模式&#xff08;Iterato…

Stable Diffusion专场公开课

从SD原理、本地部署到其二次开发 分享时间&#xff1a;11月25日14&#xff1a;00-17&#xff1a;00 分享大纲 从扩散模型DDPM起步理解SD背后原理 SD的本地部署:在自己电脑上快速搭建、快速出图如何基于SD快速做二次开发(以七月的AIGC模特生成系统为例) 分享人简介 July&#…

HelpLook VS Zendesk:哪种知识库软件更适合您的业务

为任何组织创造一个开放且协作的环境至关重要。然而&#xff0c;高水平的员工每周可能会花费多达30个小时处理电子邮件和协作&#xff0c;对他们的工作效率产生了重大影响。 为了解决这个挑战&#xff0c;建立一种高效的信息共享方法至关重要&#xff0c;不会妨碍团队的生产力…

福州大学《嵌入式系统综合设计》实验三:多媒体开发基础编程

一、实验目的 本实验基于搭建好的开发环境和硬件环境&#xff0c;通过编写简单的通信实验&#xff0c;验证开发环境&#xff0c;掌握多媒体开发编程基础&#xff0c;包括SOCKET编程、多线程编程和线程同步知识。 二、实验内容 基于套接字、多线程、同步锁机制实现多媒体文件…

循环链表3

插入函数——插入数据&#xff0c;在链表plsit的pos位置插入val数据元素 位置pos&#xff08;在无特别说明的情况下&#xff09;是从0开始计数的 要改变链表结构&#xff0c;就要依赖前驱&#xff0c;每个前驱的next存储着下一个数据结点的地址&#xff0c;也就是依靠前驱的ne…

netty整合websocket(完美教程)

websocket的介绍&#xff1a; WebSocket是一种在网络通信中的协议&#xff0c;它是独立于HTTP协议的。该协议基于TCP/IP协议&#xff0c;可以提供双向通讯并保有状态。这意味着客户端和服务器可以进行实时响应&#xff0c;并且这种响应是双向的。WebSocket协议端口通常是80&am…

敏捷需求管理

敏捷需求管理是一种以敏捷方式进行需求收集、分析和确认的方法。它强调持续不断的需求迭代和交付&#xff0c;以适应快速变化的市场和业务需求。 敏捷需求管理的主要特点包括&#xff1a; 以用户故事为核心&#xff1a;敏捷需求管理以用户故事为核心&#xff0c;将用户需求作…

FPGA——IP核 基础操作

FPGA——IP核 基础操作 IP核例化模块时钟IP核RAM IP核 IP核例化模块 找到模版 加入代码中 时钟IP核 配置模式功能 配置输入时钟 输出配置 RAM IP核

JavaScript 常用符号

JavaScript是一门基础性的编程语言&#xff0c;常用于web开发中。JS中有许多特殊的符号&#xff0c;这些符号的用法十分重要&#xff0c;直接影响代码的正确性和可读性。在日常编写中&#xff0c;我们会频繁使用以下几个符号。 一、等于号&#xff08;&#xff09; 等于号在JS…

QT之QProcess

类描述信息 QProcess允许您将进程视为顺序I/O设备。您可以写入和读取进程&#xff0c;就像使用QTcpSocket访问网络连接一样。然后&#xff0c;您可以通过调用write()写入进程的标准输入&#xff0c;并通过调用read()、readLine()和getChar()读取标准输出。由于QProcess继承了QI…

python 将str转换成list

import ast str [a,b,c] list ast.literal_eval(str) print(type(list))

Pytorch 网络冻结的三种方法区别:detach、requires_grad、with_no_grad

1、requires_grad requires_gradTrue # 要求计算梯度&#xff1b; requires_gradFalse # 不要求计算梯度&#xff1b;在pytorch中&#xff0c;tensor有一个 requires_grad参数&#xff0c;如果设置为True&#xff0c;那么它会追踪对于该张量的所有操作。在完成计算时可以通过调…

阿里云服务器公网带宽升级的三种方法

阿里云服务器公网带宽不够用有哪些解决方法&#xff1f;可以更改带宽或带宽临时升级&#xff0c;更改带宽是永久公网带宽&#xff0c;带宽临时升级可以选择升级时间段&#xff0c;也可以绑定弹性公网EIP来修改公网带宽&#xff0c;阿里云服务器网aliyunfuwuqi.com分享阿里云服务…

海外IP代理科普——API代理是什么?怎么用?

随着互联网的不断发展&#xff0c;越来越多的企业开始使用API&#xff08;应用程序接口&#xff09;来实现数据的共享和交流。而在API使用中&#xff0c;海外代理IP也逐渐普及。那么&#xff0c;什么是API代理IP呢&#xff1f;它有什么作用&#xff1f;API接口有何用处&#xf…

从0开始学习JavaScript--JavaScript 函数

JavaScript中的函数是编写可维护、模块化代码的关键。本文将深入研究JavaScript函数的各个方面&#xff0c;包括基本语法、函数作用域、闭包、高阶函数、箭头函数等&#xff0c;并通过丰富的示例代码来帮助读者更好地理解和应用这些概念。 函数的基本语法 函数是一段可被重复…

git merge指定的文件

如果你只想在合并时包含特定类型的文件&#xff08;例如&#xff0c;只合并.java文件&#xff09;&#xff0c;可以使用git checkout命令和git merge命令的组合来实现。以下是一个可能的步骤&#xff1a; 确保在目标分支上&#xff1a; 在执行合并之前&#xff0c;请确保你已经…

openGauss学习笔记-129 openGauss 数据库管理-参数设置-查看参数值

文章目录 openGauss学习笔记-129 openGauss 数据库管理-参数设置-查看参数值129.1 操作步骤129.2 示例 openGauss学习笔记-129 openGauss 数据库管理-参数设置-查看参数值 openGauss安装后&#xff0c;有一套默认的运行参数&#xff0c;为了使openGauss与业务的配合度更高&…

nvim 配置教程

1. 主角&#xff1a; NeoVim sudo apt install -y ninja-build gettext cmake unzip curl sudo apt install -y universal-ctags cscope #函数跳转用到的依赖 git clone https://github.com/neovim/neovim.git --depth1 cd neovim make CMAKE_BUILD_TYPERelWithDebInfo sudo…

C#学习相关系列之Linq用法---where和select用法(二)

一、select用法 Linq中的select可以便捷使我们的对List中的每一项进行操作&#xff0c;生成新的列表。 var ttlist.select(p>p10); //select括号内为List中的每一项&#xff0c;p10即为对每一项的操作&#xff0c;即对每项都加10生成新的List 用法实例&#xff1a; 1、la…