当前位置: 首页 > news >正文

TFT屏幕波形显示

REVIEW

关于TFT显示屏,之前已经做过彩条显示:

TFT显示屏驱动_tft驱动-CSDN博客

关于ROM IP核,以及coe文件生成:

FPGA寄存器 Vivado IP核_fpga寄存器资源-CSDN博客

1. TFT屏幕+ROM显示正弦波

①生成coe文件

%% sin-cos wave data write in coe file
clear all ;
clc ;

width = 12;%与幅值有关
N = 1024 ; % depth  数据个数
y = zeros(N , 1) ;
for i = 1:1:N 
    x = i ;
    y(i,1) = ceil( 240*cos(x*2*pi/400) ) + 240 ;%显示屏800*480
end   
plot(y);
hold on;
fid = fopen('cos_1024.coe','wt');    
%- standard format
fprintf( fid, 'MEMORY_INITIALIZATION_RADIX = 10;\n');                     
fprintf( fid, 'MEMORY_INITIALIZATION_VECTOR =\n');
%- write data in coe file
for i = 1:1:N
    fprintf(fid,'%d,\n',y(i,1));  
end
fclose(fid);

②配置ROM

③VGA时钟配置

④VGA_CTRL

module VGA_CTRL(
                input clk ,
                input reset_n ,
                input [15:0]data ,
                output reg data_req ,
                output reg [11:0]H_addr , //当前扫描点的H坐标
                output reg [11:0]V_addr , //当前扫描点的V坐标
                output reg VGA_HS ,
                output reg VGA_VS , 
                output reg VGA_BLK , //BLK表示的就是输出输出的时间段
                output reg [15:0]VGA_RGB  //{R[7:0]、G[7:0]、B[7:0]}
            );
    
    
    `include "vga_parameter.v"
     localparam VGA_HS_end = `H_Sync_Time - 1'b1 ;
     localparam Hdat_begin = `H_Sync_Time + `H_Back_Porch + `H_Left_Border - 1'b1 ;
     localparam Hdat_end = `H_Total_Time - `H_Right_Border - `H_Front_Porch - 1'b1 ;
     localparam Hpixel_end = `H_Total_Time - 1'b1 ;
     localparam VGA_VS_end = `V_Sync_Time - 1'b1 ;
     localparam Vdat_begin = `V_Sync_Time + `V_Back_Porch + `V_Top_Border - 1'b1 ;
     localparam Vdat_end = `V_Total_Time - `V_Bottom_Border - `V_Front_Porch - 1'b1 ;
     localparam Vline_end = `V_Total_Time - 1'b1 ;
    
   //行计数器
    reg[11:0]H_cnt;
    always@(posedge clk or negedge reset_n)
    if(!reset_n)    H_cnt <= 0 ;
    else if(H_cnt == Hpixel_end)
        H_cnt <= 0 ;
    else 
        H_cnt <= H_cnt + 1'b1 ;
    
    // 场计数器
    reg[11:0]V_cnt;
    always@(posedge clk or negedge reset_n)
    if(!reset_n)    V_cnt <= 0 ;
    else if(H_cnt == Hpixel_end)
        if(V_cnt == Vline_end)
            V_cnt <= 0 ;
        else 
            V_cnt <= V_cnt + 1'b1 ;
    else 
        V_cnt <= V_cnt ;
        
      //     VGA_HS
    always@(posedge clk or negedge reset_n)
    if(!reset_n)  VGA_HS <= 1;
    else if(H_cnt == 0) VGA_HS <= 0;
    else if(H_cnt > VGA_HS_end) VGA_HS <= 1;
    
    //     VGA_VS
    always@(posedge clk or negedge reset_n)
    if(!reset_n)  VGA_VS <= 1;
    else if(V_cnt == 0) VGA_VS <= 0;
    else if(V_cnt > VGA_VS_end) VGA_VS <= 1;  
        
    
 

   //     data_req
    always@(posedge clk or negedge reset_n)
    if(!reset_n)    data_req <= 0 ;
    else data_req <= ((H_cnt >= Hdat_begin)&&(H_cnt < Hdat_end)&&(V_cnt >= Vdat_begin)&&(V_cnt <= Vdat_end)) ? 1 : 0;
    
     //     VGA_BLK
    always@(posedge clk or negedge reset_n)
    if(!reset_n)    VGA_BLK <= 0 ;
    else VGA_BLK <= data_req ;
            
//    assign VGA_RGB = VGA_BLK? Data:0;
      //     VGA_RGB
    always@(posedge clk )
    if(data_req) 
       VGA_RGB <= data;
    else
        VGA_RGB <= 0;
        
   //address
    always@(posedge clk )
    if(data_req)
     begin
        H_addr <= H_cnt - Hdat_begin;
        V_addr <= V_cnt - Vdat_begin;
     end
     else
       begin
        H_addr <= 0;
        V_addr <= 0;
     end 
endmodule
 

⑤vga_parameter.v

/*
使用时根据实际工作需求选择几个预定义参数就可以
MODE_RGB888 和 MODE_RGB565 两个参数二选一,用来决定驱动工作在 16 位模式还是
24 位模式
针对小梅哥提供的一系列显示设备,各个设备参数如下所述
4.3 寸屏:16 位色 RGB565 模式
5 寸屏:16 位色 RGB565 模式
GM7123 模块使用 24 位色 RGB888 模式,
Resolution_xxxx 预定义用来决定显示设备分辨率,常见设备分辨率如下所述
4.3 寸 TFT 显示屏:Resolution_480x272
5 寸 TFT 显示屏:Resolution_800x480
VGA 常见分辨率:
Resolution_640x480
Resolution_800x600
Resolution_1024x768
Resolution_1280x720
Resolution_1920x1080
*/
 
//以下两行预定义根据实际使用的模式,选择一个使能,另外一个使用注释的方式屏蔽
`define MODE_RGB888
//`define MODE_RGB565
 
 
//以下 7 行预定义根据实际使用的分辨率,选择一个使能,另外 6 个使用注释的方式屏蔽
//`define Resolution_480x272 1 //时钟为 9MHz
//`define Resolution_640x480 1 //时钟为 25.175MHz
`define Resolution_800x480 1 //时钟为 33MHz
//`define Resolution_800x600 1 //时钟为 40MHz TFT_5屏幕分辨率
//`define Resolution_1024x768 1 //时钟为 65MHz
//`define Resolution_1280x720 1 //时钟为 74.25MHz
//`define Resolution_1920x1080 1 //时钟为 148.5MHz
 
//定义不同的颜色深度
`ifdef MODE_RGB888
    `define Red_Bits 8
    `define Green_Bits 8
    `define Blue_Bits 8
`elsif MODE_RGB565
    `define Red_Bits 5
    `define Green_Bits 6
    `define Blue_Bits 5
`endif
 
//定义不同分辨率的时序参数
`ifdef Resolution_480x272
    `define H_Total_Time 12'd525
    `define H_Right_Border 12'd0
    `define H_Front_Porch 12'd2
    `define H_Sync_Time 12'd41
    `define H_Back_Porch 12'd2
    `define H_Left_Border 12'd0
    
    `define V_Total_Time 12'd286
    `define V_Bottom_Border 12'd0
    `define V_Front_Porch 12'd2
    `define V_Sync_Time 12'd10
    `define V_Back_Porch 12'd2
    `define V_Top_Border 12'd0
    
    
`elsif Resolution_640x480
    `define H_Total_Time 12'd800
    `define H_Right_Border 12'd8
    `define H_Front_Porch 12'd8
    `define H_Sync_Time 12'd96
    `define H_Back_Porch 12'd40
    `define H_Left_Border 12'd8
    
    `define V_Total_Time 12'd525
    `define V_Bottom_Border 12'd8
    `define V_Front_Porch 12'd2
    `define V_Sync_Time 12'd2
    `define V_Back_Porch 12'd25
    `define V_Top_Border 12'd8
    
    
`elsif Resolution_800x480
    `define H_Total_Time 12'd1056
    `define H_Right_Border 12'd0
    `define H_Front_Porch 12'd40
    `define H_Sync_Time 12'd128
    `define H_Back_Porch 12'd88
    `define H_Left_Border 12'd0
    
    `define V_Total_Time 12'd525
    `define V_Bottom_Border 12'd8
    `define V_Front_Porch 12'd2
    `define V_Sync_Time 12'd2
    `define V_Back_Porch 12'd25
    `define V_Top_Border 12'd8
    
    
`elsif Resolution_800x600
    `define H_Total_Time 12'd1056
    `define H_Right_Border 12'd0
    `define H_Front_Porch 12'd40
    `define H_Sync_Time 12'd128
    `define H_Back_Porch 12'd88
    `define H_Left_Border 12'd0
    
    `define V_Total_Time 12'd628
    `define V_Bottom_Border 12'd0
    `define V_Front_Porch 12'd1
    `define V_Sync_Time 12'd4
    `define V_Back_Porch 12'd23
    `define V_Top_Border 12'd0
    
    
`elsif Resolution_1024x768
    `define H_Total_Time 12'd1344
    `define H_Right_Border 12'd0
    `define H_Front_Porch 12'd24
    `define H_Sync_Time 12'd136
    `define H_Back_Porch 12'd160
    `define H_Left_Border 12'd0
    
    `define V_Total_Time 12'd806
    `define V_Bottom_Border 12'd0
    `define V_Front_Porch 12'd3
    `define V_Sync_Time 12'd6
    `define V_Back_Porch 12'd29
    `define V_Top_Border 12'd0
    
    
`elsif Resolution_1280x720
    `define H_Total_Time 12'd1650
    `define H_Right_Border 12'd0
    `define H_Front_Porch 12'd110
    `define H_Sync_Time 12'd40
    `define H_Back_Porch 12'd220
    `define H_Left_Border 12'd0
    
    `define V_Total_Time 12'd750
    `define V_Bottom_Border 12'd0
    `define V_Front_Porch 12'd5
    `define V_Sync_Time 12'd5
    `define V_Back_Porch 12'd20
    `define V_Top_Border 12'd0
    
    
`elsif Resolution_1920x1080
    `define H_Total_Time 12'd2200
    `define H_Right_Border 12'd0
    `define H_Front_Porch 12'd88
    `define H_Sync_Time 12'd44
    `define H_Back_Porch 12'd148
    `define H_Left_Border 12'd0
    
    `define V_Total_Time 12'd1125
    `define V_Bottom_Border 12'd0
    `define V_Front_Porch 12'd4
    `define V_Sync_Time 12'd5
    `define V_Back_Porch 12'd36
    `define V_Top_Border 12'd0
    
    
`endif

⑥VGA_CTRL.xdc

set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[15]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[14]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[13]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[12]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[11]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[10]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[9]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[8]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports clk]
set_property IOSTANDARD LVCMOS33 [get_ports reset_n]
set_property IOSTANDARD LVCMOS33 [get_ports VGA_BLK]
set_property IOSTANDARD LVCMOS33 [get_ports TFT_BL]
set_property IOSTANDARD LVCMOS33 [get_ports VGA_CLK]
set_property IOSTANDARD LVCMOS33 [get_ports VGA_HS]
set_property IOSTANDARD LVCMOS33 [get_ports VGA_VS]
set_property PACKAGE_PIN W20 [get_ports {VGA_RGB[15]}]
set_property PACKAGE_PIN W19 [get_ports {VGA_RGB[14]}]
set_property PACKAGE_PIN V17 [get_ports {VGA_RGB[13]}]
set_property PACKAGE_PIN V16 [get_ports {VGA_RGB[12]}]
set_property PACKAGE_PIN T15 [get_ports {VGA_RGB[11]}]
set_property PACKAGE_PIN V20 [get_ports {VGA_RGB[10]}]
set_property PACKAGE_PIN U17 [get_ports {VGA_RGB[9]}]
set_property PACKAGE_PIN V18 [get_ports {VGA_RGB[8]}]
set_property PACKAGE_PIN T16 [get_ports {VGA_RGB[7]}]
set_property PACKAGE_PIN R16 [get_ports {VGA_RGB[6]}]
set_property PACKAGE_PIN U19 [get_ports {VGA_RGB[5]}]
set_property PACKAGE_PIN Y19 [get_ports {VGA_RGB[4]}]
set_property PACKAGE_PIN W18 [get_ports {VGA_RGB[3]}]
set_property PACKAGE_PIN Y18 [get_ports {VGA_RGB[2]}]
set_property PACKAGE_PIN W16 [get_ports {VGA_RGB[1]}]
set_property PACKAGE_PIN Y17 [get_ports {VGA_RGB[0]}]
set_property PACKAGE_PIN W14 [get_ports VGA_VS]
set_property PACKAGE_PIN U14 [get_ports VGA_HS]
set_property PACKAGE_PIN U15 [get_ports VGA_CLK]
set_property PACKAGE_PIN R17 [get_ports TFT_BL]
set_property PACKAGE_PIN U18 [get_ports clk]
set_property PACKAGE_PIN H18 [get_ports reset_n]
set_property PACKAGE_PIN W15 [get_ports VGA_BLK]

⑦VGA_cos

module VGA_cos(
  
    input clk , //50MHZ时钟
    input reset_n ,
    output VGA_CLK,
    output VGA_HS, //TFT行同步信号
    output VGA_VS, //TFT场同步信号
    output VGA_BLK,        //VGA 场消隐信号
    output [15:0] VGA_RGB ,//TFT数据输出
    output TFT_BL  //背光
);


    assign TFT_BL = 1;
        
    reg [15:0]disp_data;
    wire [11:0]hcount;
    wire [11:0]vcount;
    wire Clk33M; 
    wire Data_Req;
    
    
    assign VGA_CLK= Clk33M;
      
clk_vga vga_clk(
        .clk_out1(Clk33M),
        .clk_in1(clk)
    );      
    VGA_CTRL VGA_CTRL_(
        .clk(Clk33M),    //系统输入时钟25MHZ
        .reset_n(reset_n),
        .data(disp_data),    //待显示数据
        .data_req(Data_Req),
        .H_addr(hcount),        //VGA行扫描计数器
        .V_addr(vcount),        //VGA场扫描计数器
        .VGA_HS(VGA_HS),        //VGA行同步信号
        .VGA_VS(VGA_VS),        //VGA场同步信号
        .VGA_BLK(VGA_BLK) ,     //VGA 场消隐信号
        .VGA_RGB(VGA_RGB)  //VGA数据输出
    );
         
//定义颜色编码
localparam 
    BLACK  = 16'h0000, //黑色
    WHITE  = 16'hFFFF; //白色

    
localparam 
    DOT = BLACK,  //点是黑色
    BACKGROUND = WHITE;  //背景白色

    wire R_all = vcount >= 0 && vcount < 480;  
    wire C_all = hcount >= 0 && hcount < 800; 
    wire BR = R_all & C_all;//底色全为白色

    
  
   wire[11:0]dot ;
    
    //这里是ROM,摸鱼怪又没改名字,嘎嘎嘎
    blk_mem_gen_0 blk_mem_gen_0_(
                                  .clka(Clk33M),
                                  .ena(1'b1),
                                  .addra(hcount),  //
                                  .douta(dot)
                                );

     
   wire dotline = (vcount == dot) && hcount;
   
    always@(*)
        case({BR,dotline})
           2'b10: disp_data = BACKGROUND;
           2'b11: disp_data = DOT;
         endcase
        
        
endmodule
 

摸鱼怪碎碎念:

        ROM依次存储,地址增加对应时间增加

        hcount 为列  vcount 为行

        按照 hcount 增加,ROM中的值定位vcount

2. 画饼

需要可读可写,就是用RAM啦~

下次再慢慢摸鱼吧~

相关文章:

TFT屏幕波形显示

REVIEW 关于TFT显示屏&#xff0c;之前已经做过彩条显示&#xff1a; TFT显示屏驱动_tft驱动-CSDN博客 关于ROM IP核&#xff0c;以及coe文件生成&#xff1a; FPGA寄存器 Vivado IP核_fpga寄存器资源-CSDN博客 1. TFT屏幕ROM显示正弦波 ①生成coe文件 %% sin-cos wave dat…...

服务器无法远程桌面连接不上的问题排查与解决方案

一、问题概述 当尝试使用远程桌面协议&#xff08;RDP&#xff09;连接至服务器时&#xff0c;如果连接失败&#xff0c;这通常意味着存在一些配置问题、网络问题或服务器本身的问题。此类问题对于管理员而言&#xff0c;需要系统地进行排查和解决。 二、排查步骤 1. 检查网…...

JAVA面试题整理——内存溢出与内存泄露的区别与联系

内存溢出与内存泄露的区别与联系 在前面jvm学习整理的时候其实用过一个简单的例子了解过内存溢出&#xff0c;在jvm内存模型章节下&#xff0c;大家有兴趣的可以去看看&#xff1a;JVM初学 GC_knowwait的博客-CSDN博客 内存溢出 内存溢出&#xff08;out of memory&#xff09…...

L50--- 104. 二叉树的最大深度(深搜)---Java版

1.题目描述 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 2.思路 这个二叉树的结构如下&#xff1a; 根节点 1 左子节点 2 右子节点 3 左子节点 4 计算过程 从根节点 1 开始计算&#xff1a; 计算左子树的最大深度&#xff1a; 根节点 2&#xf…...

Linux 中 “ 磁盘、进程和内存 ” 的管理

在linux虚拟机中也有磁盘、进程、内存的存在。第一步了解一下磁盘 一、磁盘管理 &#xff08;1.1&#xff09;磁盘了解 track&#xff08; 磁道 &#xff09; &#xff1a;就是磁盘上的同心圆&#xff0c;从外向里&#xff0c;依次排序1号&#xff0c;2号磁盘........等等。…...

test_pipeline

test_pipeline 是一个测试管道&#xff08;test pipeline&#xff09;的定义。 在计算机视觉任务中&#xff0c;通常需要对输入图像进行一系列的预处理操作&#xff0c;以便将其适配到模型的输入要求或提高模型的性能。测试管道就是用于定义这些预处理操作的一系列步骤。 在给…...

使用甲骨文云arm服务器安装宝塔时nginx无法卸载

使用甲骨文云arm服务器安装宝塔 其他环境都能安装上 唯独nginx安装完不运行 卸载了几次以后还无法卸载了. 修复 重启都不行. 差点就重建主机了. 最后靠下面的命令 就卸载掉了 然后重装就把nginx安装好了 mv /www/server/nginx/sbin/nginx /tmp/nginx_back mv /etc/in…...

C++青少年简明教程:C++的指针入门

C青少年简明教程&#xff1a;C的指针入门 说到指针&#xff0c;就不可能脱离开内存。了解C的指针对于初学者来说可能有些复杂&#xff0c;我们可以试着以一种简单、形象且易于理解的方式来解释&#xff1a; 首先&#xff0c;我们可以将计算机内存想象成一个巨大的有许多格子的…...

Apache Doris 基础 -- 数据表设计(分层存储)

1、应用场景 未来一个重要的用例是类似于ES日志存储&#xff0c;其中日志场景中的数据是根据日期分割的。许多数据都是查询不频繁的冷数据&#xff0c;因此需要降低此类数据的存储成本。考虑到节约成本: 来自不同厂商的常规云磁盘的定价比对象存储更昂贵。Doris 集群实际在线…...

使用Spring Boot设计一套BI系统

商业智能&#xff08;Business Intelligence&#xff0c;简称BI&#xff09;系统是一种将数据转化为可操作信息&#xff0c;帮助企业进行决策支持的技术与工具的集合。随着大数据时代的到来&#xff0c;BI系统在企业中的应用变得越来越广泛。本文旨在探讨如何使用Spring Boot框…...

2024.6.12总结

今天是排毕业照的日子&#xff0c;拍照的时候并没有太过兴奋。后来受到主管说明天就能签offer了&#xff0c;这才喜极而泣。 自从得知自己面试通过后&#xff0c;我是非常高兴&#xff0c;开始幻想着今后的生活。可是&#xff0c;后面在等offer的过程中&#xff0c;我是无比的…...

1027 - 求任意三位数各个数位上数字的和

问题描述 对于一个任意的三位自然数 x &#xff0c;编程计算其各个数位上的数字之和 S 。 输入 输入一行&#xff0c;只有一个整数 x(100≤x≤999) 。 输出 输出只有一行&#xff0c;包括 1 个整数。 样例 输入 123 输出 6 以下是C实现的代码&#xff1a; 代码1 #…...

K8s 卷快照类

卷快照类 卷快照类 这个警告信息通常出现在使用 kubectl 删除 Kubernetes 集群资源时&#xff0c;如果尝试删除的是集群作用域&#xff08;cluster-scoped&#xff09;的资源&#xff0c;但指定了命名空间&#xff08;namespace&#xff09;&#xff0c;就会出现这个警告。 集…...

从零手写实现 nginx-23-directive IF 条件判断指令

前言 大家好&#xff0c;我是老马。很高兴遇到你。 我们为 java 开发者实现了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何处理的&#xff0c;可以参考我的另一个项目&#xff1a; 手写从零实现简易版 tomcat minicat 手写 nginx 系列 …...

08_基于GAN实现人脸图像超分辨率重建实战_超分辨基础理论

1. 超分辨的概念与应用 我们常说的图像分辨率指的是图像长边像素数与图像短边像素数的乘积,比如iPhoneX手机拍摄照片的分辨率为 4032px3024px,为1200万像素。 显然,越高的分辨率能获得更清晰的成像。与之同时,分辨率越高也意味着更大的存储空间,对于空间非常有限的移动设…...

React.ReactElement 与 React.ReactNode

React.ReactNode 在 JSX 中作为子元素传递的所有可能类型的并集&#xff0c;这是对子元素的一个非常宽泛的定义。 <RNode><p>One element</p></RNode><RNode><><p>Fragments for</p><p>More elements</p></&g…...

深度解析服务发布策略之蓝绿发布

目录 什么是蓝绿发布 蓝绿发布的优点 蓝绿发布的缺点 蓝绿发布的实现步骤 小结 在软件开发和运维中&#xff0c;发布新版本是一个风险较高的操作。为了降低风险&#xff0c;提高发布的稳定性和可靠性&#xff0c;通常会采取一系列的技术策略。其中蓝绿发布&#xff08;Blu…...

【Mysql】 深入理解MySQL的执行计划

文章目录 前言一、字段解释二、代码实现三、总结 前言 在日常的数据库操作中&#xff0c;我们经常会遇到一些复杂的查询&#xff0c;这些查询可能会涉及到多个表的联合查询&#xff0c;或者是一些复杂的条件筛选。为了更好地理解和优化这些查询&#xff0c;了解MySQL的执行计划…...

说下你对Spring IOC 的理解

说下你对Spring IOC 的理解 1. Spring IOC是一个管理对象之间依赖关系的容器&#xff0c;它实现了依赖注入技术&#xff0c;可以解决传统的紧耦合问题&#xff0c;降低了项目维护难度。 2. Spring IOC将对象之间的依赖关系交由容器来管理对象&#xff0c;开发者只需要告诉容器…...

前缀和算法:算法秘籍下的数据预言家

✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一. 前缀和算法的介绍 二、前缀和例题 2.1 【模版】前缀和 2.2 【模板】二维前缀和 2.3 寻找数组的中间下标 2.4 除自身以外数组的乘积 2.5 和为k的子数组 2.6 和可被k整除的子数组 2.7 …...

基于PointNet / PointNet++深度学习模型的激光点云语义分割

一、场景要素语义分割部分的文献阅读笔记 1.1 PointNet PointNet网络模型开创性地实现了直接将点云数据作为输入的高效深度学习方法&#xff08;端到端学习&#xff09;。最大池化层、全局信息聚合结构以及联合对齐结构是该网络模型的三大关键模块&#xff0c;最大池化层解决了…...

LabVIEW调用DLL时需注意的问题

在LabVIEW中调用DLL&#xff08;动态链接库&#xff09;是实现与外部代码集成的一种强大方式&#xff0c;但也存在一些常见的陷阱和复杂性。本文将从参数传递、数据类型匹配、内存管理、线程安全、调试和错误处理等多个角度详细介绍LabVIEW调用DLL时需要注意的问题&#xff0c;…...

时序预测 | MATLAB实现TCN-Attention自注意力机制结合时间卷积神经网络时间序列预测

时序预测 | MATLAB实现TCN-Attention自注意力机制结合时间卷积神经网络时间序列预测 目录 时序预测 | MATLAB实现TCN-Attention自注意力机制结合时间卷积神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现TCN-Attention自注意力机制结合时…...

上位机图像处理和嵌入式模块部署(h750 mcu vs f407)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 在目前工业控制上面&#xff0c;f103和f407是用的最多的两种stm32 mcu。前者频率低一点&#xff0c;功能少一点&#xff0c;一般用在低端的嵌入式设…...

Linux C语言:指针和指针变量

一、指针的作用 使程序简洁、紧凑、高效有效地表示复杂的数据结构动态分配内存能直接访问硬件能够方便的处理字符串得到多于一个的函数返回值 二、内存、地址和变量 1、内存地址 2、变量和地址 1&#xff09;变量用来在程序中保存数据 比如: int k 58; //声明一个int变…...

Llama模型家族之Stanford NLP ReFT源代码探索 (二)Intervention Layers层

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;一&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;二&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;三&#xff09; 基于 LlaMA…...

MATLAB神经网络---序列输入层sequenceInputLayer

序列输入层sequenceInputLayer 描述一&#xff1a; sequenceinputlayer是Matlab深度学习工具箱中的一个层&#xff0c;用于处理序列数据输入。它可以将输入数据转换为序列格式,并将其传递给下一层进行处理。该层通常用于处理文本、语音、时间序列等类型的数据。在使用该层时&…...

使用CSS、JavaScript、jQuery三种方式实现手风琴效果

手风琴效果有不少&#xff0c;王者荣耀官网&#xff08;源网址 https://pvp.qq.com/raiders/ &#xff09;有一处周免英雄&#xff0c;使用的就是手风琴效果&#xff0c;如图所示。 我试着用css、js、jQuery三种方式实现了这种效果&#xff0c;最终效果差不多&#xff0c;美中不…...

什么是无头浏览器以及其工作原理?

如果您对这个概念还不熟悉&#xff0c;那么使用无头网络浏览器的想法可能会让您感到不知所措。无头浏览器本质上与您熟悉的网络浏览器相同&#xff0c;但有一个关键区别&#xff1a;它们没有图形用户界面 (GUI)。这意味着没有按钮、选项卡、地址栏或视觉显示。 相反&#xff0c…...

计算机网络 —— 应用层(DNS域名系统)

计算机网络 —— 应用层&#xff08;DNS域名系统&#xff09; 什么是DNS域名的层次结构域名分类 域名服务器的分类域名解析方式递归查询&#xff08;Recursive Query&#xff09;迭代查询&#xff08;Iterative Query&#xff09;域名的高速缓存 我们今天来看DNS域名系统 什么…...