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

FPGA实现LCD12864控制

目录

注意!

a) 本工程采用野火征途PRO开发板,外接LCD12864部件进行测试。

b) 有偿提供代码!!!可以定制功能!!!有需要私信!!!

c) 本文测试采用的是并口模式,只写不读

        d) 12864与1602的指令有很多相似之处,但功能以及使用方法差异还是比较大的

        e) 先放效果图

一、基础知识

1.1 引脚信息

1.2 指令

1.2.1 清屏

1.2.2 归位(返回)

1.2.3 进入设定点

1.2.4 显示模式控制

1.2.5 光标、画面位移

1.2.6 功能设置

1.2.7 CG RAM地址设置

1.2.8 DD RAM地址设置

1.2.9 写数据

1.2.10 进入扩展功能模式

1.2.11 设置画图地址

1.3 常用指令

1.4 内置字符、自定义字符以及画图显示原理

1.5 LCD16384初始化过程

二、部分代码

2.1 LCD12864滚动显示字符

2.2 LCD12864显示自定义字符“仰以殊观”

2.3 LCD12864显示图像

三、实测

3.1 LCD12864滚动显示字符

3.2 LCD12864显示自定义汉字

3.3 LCD12864显示图像


注意!

a) 本工程采用野火征途PRO开发板,外接LCD12864部件进行测试。

b) 有偿提供代码!!!可以定制功能!!!有需要私信!!!

c) 本文测试采用的是并口模式,只写不读

d) 12864与1602的指令有很多相似之处,但功能以及使用方法差异还是比较大的

e) 先放效果图

一、基础知识

1.1 引脚信息

VSS电源地
VDD/VCC电源正极
V0偏压(可不接或接地或接电位器调整电压)
RS寄存器选择(Register Select,选择数据或命令寄存器)
RW读/写
E使能
D0-D78位数据
A背光正极
K背光负极
PSB给高电平
RST给高电平

1.2 指令

1.2.1 清屏

1.2.2 归位(返回)

1.2.3 进入设定点

1.2.4 显示模式控制

1.2.5 光标、画面位移

1.2.6 功能设置

1.2.7 CG RAM地址设置

1.2.8 DD RAM地址设置

1.2.9 写数据

1.2.10 进入扩展功能模式

1.2.11 设置画图地址

1.3 常用指令

'h30:功能设置(初始化指令)

'h34:进入扩展指令模式(画图关)

'h01:显示清屏(清DDRAM和AC(AddressCount地址计数器)值-1.3.1)

'h18:画面左移(1.3.5)

1.4 内置字符、自定义字符以及画图显示原理

这部分个人感觉有点复杂,还需要时间思考一下怎样才能表述清楚,过两天写

1.5 LCD16384初始化过程

        a)        程序烧录到FPGA后首先复位15ms

        b)        15ms后进入INIT初始化状态

        c)        INIT初始化状态分别写0x34 0x34 0x01

每次写指令或数据间隔时间均远大于处理时间,故不用考虑读忙信号

二、部分代码

2.1 LCD12864滚动显示字符

// -------------------字符显示寄存器S_data_display赋值
/*
两行循环显示0-9-a-z-A-D*/always @(*) begincase(S_char_cnt)'d0: S_data_display   = "0";'d1: S_data_display   = "1";'d2: S_data_display   = "2";'d3: S_data_display   = "3";'d4: S_data_display   = "4";'d5: S_data_display   = "5";'d6: S_data_display   = "6";'d7: S_data_display   = "7";'d8: S_data_display   = "8";'d9: S_data_display   = "9";'d10: S_data_display  = "a";'d11: S_data_display  = "b";'d12: S_data_display  = "c";'d13: S_data_display  = "d";'d14: S_data_display  = "e";'d15: S_data_display  = "f";'d16: S_data_display  = "f";'d17: S_data_display  = "e";'d18: S_data_display  = "d";'d19: S_data_display  = "c";'d20: S_data_display  = "b";'d21: S_data_display  = "a";'d22: S_data_display  = "9";'d23: S_data_display  = "8";'d24: S_data_display  = "7";'d25: S_data_display  = "6";'d26: S_data_display  = "5";'d27: S_data_display  = "4";'d28: S_data_display  = "3";'d29: S_data_display  = "2";'d30: S_data_display  = "1";'d31: S_data_display  = "0";'d32: S_data_display  = "A";'d33: S_data_display  = "B";'d34: S_data_display  = "C";'d35: S_data_display  = "D";'d36: S_data_display  = "E";S2			:begin O_lcd_data <= 8'h06; O_lcd_rs <= 0;end//控制读写后AC自动增减一,控制画面不动S3			:begin O_lcd_data <= 8'h0E; O_lcd_rs <= 0;end//控制显示开/0c关游标显示,oe开游标显示ROW1_ADDR	:begin O_lcd_data <= 8'h80; O_lcd_rs <= 0;endWRITE		:begin O_lcd_data <= S_data_display; O_lcd_rs <= 1;endROW2_ADDR	:begin O_lcd_data <= 8'h90; O_lcd_rs <= 0;endROW3_ADDR	:begin O_lcd_data <= 8'h88; O_lcd_rs <= 0;endROW4_ADDR	:begin O_lcd_data <= 8'h98; O_lcd_rs <= 0;endstop		:begin O_lcd_data <= 8'h18; O_lcd_rs <= 0;end//控制画面左移// stop		:begin O_lcd_data <= 8'h30; O_lcd_rs <= 0;end//控制画面左移stop1		:begin O_lcd_data <= 8'h30; O_lcd_rs <= 0;end//控制画面左移stop2		:begin O_lcd_data <= 8'h30; O_lcd_rs <= 0;end//控制画面左移default:;endcaseendend
endmodule

2.2 LCD12864显示自定义字符“仰以殊观”

	//-------------------寄存器定义reg	[31:0]	S_clk_cnt			;//时钟计数器,用来对系统时钟分频reg	[4:0]	S_state_c			;//状态机reg	[4:0]	S_state_n			;//状态机reg	[7:0]	S_char_cnt			;//字符计数器reg	[7:0]	S_data_display		;//字符显示寄存器//-------------------定义状态localparamIDLE			= 'd0	,INIT 			= 'd1	,S0				= 'd2	,S1				= 'd3	,S2				= 'd4	,S3				= 'd5	,WR_CGRAM_ADDR	= 'd6	,WRITE			= 'd7	,RD_CGRAM_ADDR1  = 'd8	,RD_CGRAM_ADDR2  = 'd22	,RD_CGRAM_H0		= 'd9	,RD_CGRAM_H1 	= 'd10 ,/*
显示自定义字形//仰
{0x08,0x00,0x08,0x80,0x0B,0x3C,0x12,0x24,0x12,0x24,0x32,0x24,0x32,0x24,0x52,0x24},
{0x92,0x24,0x12,0x24,0x12,0xB4,0x13,0x28,0x12,0x20,0x10,0x20,0x10,0x20,0x10,0x20},
//以
{0x00,0x10,0x04,0x10,0x22,0x10,0x21,0x10,0x21,0x10,0x20,0x10,0x20,0x10,0x20,0x20},
{0x20,0x20,0x20,0x20,0x24,0x40,0x28,0x50,0x30,0x88,0x21,0x04,0x02,0x02,0x04,0x02},
//殊
{0x00,0x20,0x01,0x20,0xFD,0x20,0x21,0xFC,0x21,0x20,0x3E,0x20,0x44,0x20,0x47,0xFE},
{0x64,0x70,0x94,0xA8,0x08,0xA8,0x09,0x24,0x11,0x24,0x22,0x22,0x40,0x20,0x80,0x20},
//观
{0x00,0x00,0x01,0xFC,0x01,0x04,0xFD,0x04,0x05,0x24,0x05,0x24,0x49,0x24,0x29,0x24},
{0x11,0x24,0x11,0x54,0x28,0x50,0x24,0x90,0x44,0x90,0x81,0x12,0x02,0x12,0x04,0x0E},*/RD_CGRAM_ADDR1:begin O_lcd_data <= 8'h93; O_lcd_rs <= 0;end//设置DDRAM显示地址RD_CGRAM_ADDR2:begin O_lcd_data <= 8'h8b; O_lcd_rs <= 0;end//设置DDRAM显示地址RD_CGRAM_H0	:begin O_lcd_data <= 8'h00; O_lcd_rs <= 1;end//读CGRAM显示RD_CGRAM_H1	:begin O_lcd_data <= 8'h00; O_lcd_rs <= 1;end//读CGRAM显示RD_CGRAM_H2	:begin O_lcd_data <= 8'h00; O_lcd_rs <= 1;end//读CGRAM显示RD_CGRAM_H3	:begin O_lcd_data <= 8'h00; O_lcd_rs <= 1;end//读CGRAM显示RD_CGRAM_L0	:begin O_lcd_data <= 8'h00; O_lcd_rs <= 1;end//读CGRAM显示RD_CGRAM_L1	:begin O_lcd_data <= 8'h02; O_lcd_rs <= 1;end//读CGRAM显示RD_CGRAM_L2	:begin O_lcd_data <= 8'h04; O_lcd_rs <= 1;end//读CGRAM显示RD_CGRAM_L3	:begin O_lcd_data <= 8'h06; O_lcd_rs <= 1;end//读CGRAM显示

2.3 LCD12864显示图像

//-------------------寄存器定义reg	[31:0]	S_clk_cnt			;//时钟计数器,用来对系统时钟分频reg	[7:0]	S_state_c			;//状态机reg	[7:0]	S_state_n			;//状态机reg	[15:0]	S_char_cnt			;//字符计数器reg	[7:0]	S_data_display		;//字符显示寄存器//-------------------定义状态localparamIDLE			= 'd0	,INIT 			= 'd1	,S0				= 'd2	,S1				= 'd3	,S2				= 'd4	,S3				= 'd5	,WR_X_ADDR0  	= 'd6	,WR_Y_ADDR0 		= 'd7	,WR_Y_ADDR1 		= 'd8	,WR_DATA 		= 'd9	,OPEN 			= 'd10	,stop			= 'd11	;// -------------------字符显示寄存器S_data_display赋值
/*
显示自定义图像'h00'h00'h00'h36'h00'h60'h38'h00'hC0'h03'hF8'h00'h00'h00'h00'h00
'h00'h00'h00'h7F'hF8'h64'h39'hFF'hC0'hFF'hF8'h00'h00'h00'h00'h00
'h00'h00'h00'h7D'hF8'h6E'h39'hFF'hF8'hFF'h18'h00'h00'h00'h00'h00
'h00'h00'h00'h7D'hD8'h67'h38'h67'hFC'h1B'h78'h00'h00'h00'h00'h00
'h00'h00'h00'hFD'hD8'h63'hB0'h7E'hC0'hDB'h78'h00'h00'h00'h00'h00
'h00'h00'h01'hFD'hD8'h61'h30'hFE'hC0'hFB'h78'h00'h00'h00'h40'h00
'h00'h00'h01'hFD'hD8'h60'h30'hDF'hFC'h7B'h78'h00'h00'h0F'hF8'h00
'h00'h00'h01'hFD'hD8'h6C'h31'hFF'hFC'h3B'h78'h00'h00'h7F'hF8'h00
'h00'h00'h00'hFF'hD8'h7C'h71'hFB'hE0'h3B'hF8'h00'h01'hFF'hF8'h00
'h00'h00'h00'hFF'hD8'h78'h70'h33'hF0'h7C'hE0'h00'h0F'hFF'hF0'h00
'h00'h00'h00'hFF'hF8'h70'hF8'h77'hF8'hED'hE0'h00'h3F'hFF'hE0'h00
'h00'h00'h00'hFD'hF8'hE3'hDC'hEE'hDD'hC3'hEE'h00'hFF'hFF'hC0'h00
'h00'h00'h00'hF9'hC0'h7F'h8D'hDC'hCC'h8F'h7E'h03'hFF'hFF'h80'h00
'h00'h00'h00'hC1'hC0'h0E'h08'h88'hC0'h0E'h7C'h0F'hFF'hFF'h00'h00
'h00'h00'h00'h00'h00'h01'h80'h00'hC0'h00'h00'h3F'hFF'hFE'h00'h00
'h00'h00'h00'h00'h00'h1F'hE0'h00'h00'h00'h00'hFF'hFF'hF8'h00'h00
'h00'h00'h00'h00'h00'hFF'hE0'h07'h80'h00'h03'hFF'hFF'hF0'h00'h00
'h00'h00'h3F'hFF'h83'hFF'hC0'h3F'hC0'h00'h0F'hFF'hFF'hC0'h00'h00
'h00'h00'h7F'hFF'hFF'hFF'h81'hFF'hC0'h00'h3F'hFF'hFF'h80'h00'h00
'h00'h03'hFF'hFF'hFF'hFF'hFF'hFF'h80'h00'hFF'hFF'hFE'h00'h00'h00
'h00'h03'hFF'hFF'hFF'hFF'hFF'hFF'hFF'h83'hFF'hFF'hFC'h00'h00'h00
'h00'h00'hFF'hFF'hFF'hFF'hFF'hFF'hFF'hFF'hFF'hFF'hF0'h00'h00'h00
'h00'h00'h07'hFF'hFF'hFF'hFF'hFF'hFF'hFF'hFF'hFF'hC0'h00'h00'h00
'h00'h00'h00'h3F'hFF'hFF'hFF'hFF'hFF'hFF'hFF'hFF'h80'h00'h00'h00
'h00'h00'h00'h03'hFF'hFF'hFF'hFF'hFF'hFF'hFF'hFE'h00'h00'h00'h00
'h00'h00'h00'h00'h1F'hFF'hFF'hFF'hFF'hFF'hFF'hF8'h00'h00'h00'h00
'h00'h00'h00'h00'h00'hFF'hFF'hFF'hFF'hFF'hFF'hE0'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h07'hFF'hFF'hFF'hFF'hFF'hC0'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h00'h7F'hFF'hFF'hFF'hFF'h80'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h00'h03'hFF'hFF'hFF'hFF'hC0'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h00'h00'h0F'hFF'hFF'hFF'hC0'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h00'h00'h0F'hFF'hFF'hFF'hC0'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h00'h00'h3F'hFF'hFF'hFF'hE0'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h00'h00'h7F'hFF'hFF'hFF'hE0'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h00'h01'hFF'hFF'hFF'hFF'hFF'hC0'h00'h00'h00
'h00'h00'h00'h00'h00'h00'h07'hFF'hFF'hFF'hFF'hFF'hC0'h00'h00'h00
'h00'h00'h00'h00'h00'h00'h0F'hFF'hFF'hFF'hFF'hFF'h80'h00'h00'h00
'h00'h00'h00'h00'h00'h00'h3F'hFF'hFC'hFF'hFF'hFF'h80'h00'h00'h00
'h00'h00'h00'h00'h00'h00'h7F'hFF'hF0'h7F'hFF'hFF'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h01'hFF'hFF'hC0'h3F'hFF'hFC'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h03'hFF'hFF'h00'h3F'hFF'hF8'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h0F'hFF'hFC'h00'h1F'hFF'hF8'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h1F'hFF'hE0'h00'h0F'hFF'hF9'hF0'h00'h00'h00
'h00'h00'h00'h00'h00'h7F'hFF'h80'h00'h0F'hFF'hFF'hF8'h00'h00'h00
'h00'h00'h03'hE0'h00'hFF'hFE'h00'h00'h07'hFF'hFF'hF8'h00'h00'h00
'h00'h00'h07'hFF'hFF'hFF'hF8'h00'h00'h03'hFF'hFF'hF0'h00'h00'h00
'h00'h00'h1F'hFF'hFF'hFF'hE0'h00'h00'h03'hFF'hFF'hE0'h00'h00'h00
'h00'h00'h3F'hFF'hFF'hFF'h80'h00'h00'h01'hFF'hFF'hC0'h00'h00'h00
'h00'h00'h07'hFF'hFF'hFE'h00'h00'h00'h00'hFF'hFF'h80'h00'h00'h00
'h00'h00'h00'hFF'hFF'hF8'h00'h00'h00'h00'h7F'hFE'h00'h00'h00'h00
'h00'h00'h00'h0F'hFF'hF8'h00'h00'h00'h00'h7F'hFE'h00'h00'h00'h00
'h00'h00'h00'h00'hFF'hFC'h00'h00'h00'h00'h3F'hFE'h00'h00'h00'h00
'h00'h00'h00'h00'h3F'hFC'h00'h00'h00'h00'h1F'hFF'h00'h00'h00'h00
'h00'h00'h00'h00'h1F'hFC'h00'h00'h00'h00'h1F'hFF'h00'h00'h00'h00
'h00'h00'h00'h00'h0F'hFC'h00'h00'h00'h00'h0F'hFF'h00'h00'h00'h00
'h00'h00'h00'h00'h07'hFC'h00'h00'h00'h00'h07'hFF'h00'h00'h00'h00
'h00'h00'h00'h00'h03'hFE'h00'h00'h00'h00'h07'hFF'h00'h00'h00'h00
'h00'h00'h00'h00'h01'hFE'h00'h00'h00'h00'h03'hFF'h80'h00'h00'h00
'h00'h00'h00'h00'h01'hF8'h00'h00'h00'h00'h01'hFF'h80'h00'h00'h00
'h00'h00'h00'h00'h00'hF0'h00'h00'h00'h00'h01'hFF'h80'h00'h00'h00
'h00'h00'h00'h00'h00'h40'h00'h00'h00'h00'h00'hFE'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h00'h00'h00'h00'h00'h00'h78'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h00'h00'h00'h00'h00'h00'h70'h00'h00'h00'h00
'h00'h00'h00'h00'h00'h00'h00'h00'h00'h00'h00'h00'h00'h00'h00'h00C:\Users\26058\Desktop\1.bmp0*/

三、实测

3.1 LCD12864滚动显示字符

LCD12864滚动显示字符

3.2 LCD12864显示自定义汉字

3.3 LCD12864显示图像

左侧的白线消除不了,只要往第二部分的图像部分进行赋值,就会有这道白线(两个字节),暂时不清楚是逻辑问题还是硬件问题,不过不影响整体效果。

相关文章:

FPGA实现LCD12864控制

目录 注意&#xff01; a) 本工程采用野火征途PRO开发板&#xff0c;外接LCD12864部件进行测试。 b) 有偿提供代码&#xff01;&#xff01;&#xff01;可以定制功能&#xff01;&#xff01;&#xff01;有需要私信&#xff01;&#xff01;&#xff01; c) 本文测试采用…...

mysql 批量执行sql语句脚本

有时候我们需要批量执行多个数据库的创建和数据创建执行可以通过下面脚本批量创建和执行脚本。我们只需要在sql命令行或者客户端执行下面一个脚本批量创建执行多个库的创建和执行 xxxxinit.sql create user root% identified by test; mysql -h 192.168.17.7 -u root -p mysq…...

餐饮连锁加盟的网页UI,如果不大气,谁能相信你的品牌力

...

【Git】Git概述

一、Git的基本概念和特点 基本概念&#xff1a; 仓库&#xff08;Repository&#xff09;&#xff1a;Git存储代码的基本单位&#xff0c;包含项目的所有文件和历史提交记录。Git支持本地仓库和远程仓库&#xff0c;本地仓库存储在开发者的计算机上&#xff0c;而远程仓库通常…...

【图解网络】学习记录

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 TCP/IP 网络模型有哪几层&#xff1f;键入网址到网页显示&#xff0c;期间发生了什么&#xff1f;Linux 系统是如何收发网络包的&#xff1f;NAPIHTTP 是什么&#…...

【Vulnhub系列】Vulnhub_Seattle_003靶场渗透(原创)

【Vulnhub系列靶场】Vulnhub_Seattle_003靶场渗透 原文转载已经过授权 原文链接&#xff1a;Lusen的小窝 - 学无止尽&#xff0c;不进则退 (lusensec.github.io) 一、环境准备 1、从百度网盘下载对应靶机的.ova镜像 2、在VM中选择【打开】该.ova 3、选择存储路径&#xff0…...

java: 错误: 无效的源发行版:17

错误现象&#xff1a; java: 错误: 无效的源发行版&#xff1a;17 背景&#xff1a;在配置一个springboot项目时候&#xff0c;报出这个错误&#xff0c;错误提示信息很简单&#xff0c;很模糊。 排查&#xff1a;百度后&#xff0c;推测大概率就是pom文件的配置问题&#xf…...

【Python机器学习】k-近邻算法简单实践——识别手写数字

为了简化理解&#xff0c;需要识别的数字已经使用图形处理软件&#xff0c;处理成具有相同的色彩和大小32*32的黑白图像&#xff0c;并转换成文本格式 准备数据&#xff1a;将图像转换为测试向量 实际图像存储在trainingDigits的2000个例子和testDigits中的900个测试数据 我们…...

Linux源码阅读笔记14-IO体系结构与访问设备

IO体系结构 与外设通信通常称为输入输出&#xff0c;一般缩写为I/O。在实现外设IO的时候&#xff0c;内核必须处理三个可能出现的问题&#xff1a; 必须根据具体的设备类型和模型&#xff0c;使用各种方法对硬件寻址。内核必须向用户应用程序和系统工具提供访问各种设备的方法…...

只出现一次的数字-位运算

题目描述&#xff1a; 个人题解&#xff1a; 代码实现&#xff1a; class Solution { public:int singleNumber(vector<int>& nums) {int ret 0;for (auto e: nums) ret ^ e;return ret;} };复杂度分析&#xff1a; 时间复杂度&#xff1a;O(n)&#xff0c;其中 n…...

pyqt designer使用spliter

1、在designer界面需要使用spliter需要父界面不使用布局&#xff0c;减需要分割两个模块选中&#xff0c;再点击spliter分割 2、在分割后&#xff0c;再对父界面进行布局设置 3、对于两边需要不等比列放置的&#xff0c;需要套一层 group box在最外层进行分割...

【ROS 最简单教程 002/300】ROS 集成开发环境安装 (虚拟机版): Noetic

&#x1f497; 有遇到安装问题可以留言呀 ~ 当时踩了挺多坑&#xff0c;能帮忙解决的我会尽力 &#xff01; 1. 安装操作系统环境 Linux ❄️ VM / VirtualBox Ubuntu20.04 &#x1f449; 保姆级图文安装教程指路&#xff0c;有经验的话 可以用如下资源自行安装 ITEMREFERENCE…...

防洪评价报告编制方法与水流数学模型建模技术

原文链接&#xff1a;防洪评价报告编制方法与水流数学模型建模技术https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247610610&idx2&sn432d30cb40ec36160d635603c7f22c96&chksmfa827115cdf5f803ddcaa03a21e3721d6949d6a336062bb38170e3f9d5bd4d391cc36cc…...

【Python学习手册(第四版)】学习笔记10-语句编写的通用规则

个人总结难免疏漏&#xff0c;请多包涵。更多内容请查看原文。本文以及学习笔记系列仅用于个人学习、研究交流。 本文较简单&#xff0c;5-10分钟即可阅读完成。介绍Python基本过程语句并讨论整体语法模型通用规则&#xff08;冒号、省略、终止、缩进、其他特殊情况&#xff0…...

Flink笔记整理(五)

Flink笔记整理&#xff08;五&#xff09; 文章目录 Flink笔记整理&#xff08;五&#xff09;七、处理函数&#xff08;最底层最常用最灵活&#xff09;7.1基本处理函数&#xff08;ProcessFunction&#xff09;处理函数的功能和使用ProcessFunction解析 7.2按键分区处理函数&…...

数据分析概要【数据分析---偏企业】

各位大佬好 &#xff0c;这里是阿川的博客&#xff0c;祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 数据分析概要前 必看 Python 初阶 Python–语言基础…...

PDF编辑器大分享,这三款加速PDF编辑!

嘿&#xff0c;各位办公室的小伙伴们&#xff0c;今儿咱们来聊聊那些让咱们文员生活变得更加轻松愉快的神器——PDF编辑器&#xff01;作为每天跟文档打交道的“文字魔术师”&#xff0c;选对工具那可真是事半功倍啊。今天&#xff0c;我就从我的亲身体验出发&#xff0c;给大伙…...

Python --Pandas库基础方法(2)

文章目录 Pandas 变量类型的转换查看各列数据类型改变数据类型 重置索引删除行索引和切片seriesDataFrame取列按行列索引选择loc与iloc获取 isin()选择query()的使用排序用索引排序使用变量值排序 修改替换变量值对应数值的替换 数据分组基于拆分进行筛选 分组汇总引用自定义函…...

《Programming from the Ground Up》阅读笔记:p75-p87

《Programming from the Ground Up》学习第4天&#xff0c;p75-p87总结&#xff0c;总计13页。 一、技术总结 1.persistent data p75, Data which is stored in files is called persistent data, because it persists in files that remain on disk even when the program …...

Python面试整理-常用标准库

Python的标准库包含了大量的模块和包,支持各种编程任务,从文件处理、数据序列化,到网络编程等。这些模块预安装在Python中,无需额外安装就可以使用。以下是一些非常有用且常用的标准库模块: 1. os 用于与操作系统进行交互,包括文件和目录管理操作。 import os # 获取当前…...

AI Infra 后端开发工程师 — 学习路线

AI Infra 后端开发工程师 — 学习路线目标&#xff1a;3个月可切换到AI Infra后端岗位能力迁移地图AI Infra 对应迁移成本Goroutine调度/并发控制思维直接复用Agent会话生命周期管理设计模式相同SSE/WebSocket流式协议实时系统思维GPU显存管理/KV-cache资源约束优化思维推理延迟…...

API 的分布式世界 vs COM 的语言桥梁:典型应用场景深度解析

典型应用场景&#xff1a;API&#xff1a;构建现代分布式系统&#xff0c;如微服务、Web应用、移动后端、IoT设备通信&#xff1b;COM&#xff1a;使不同语言编写的软件组件&#xff08;如C组件被C#、Python调用&#xff09;在Windows上协同工作。对 API 和 COM 的典型应用场景…...

Cortex-M3/M4处理器模式判断与调试技巧

1. Cortex-M3/M4处理器模式判断原理在嵌入式开发中&#xff0c;理解Cortex-M3和Cortex-M4处理器的运行模式对调试和异常处理至关重要。这两种处理器架构都采用了两级特权等级和两种执行模式的组合设计&#xff1a;特权等级&#xff08;Privilege Level&#xff09;&#xff1a;…...

把AI的能力拆成乐高积木:如何让Agent真正干成复杂的事

【AI Agent能不能干成复杂的事&#xff0c;不取决于模型有多聪明&#xff0c;而取决于能力怎么编排】AI Agent在2025年成为企业数字化领域的最热词汇。几乎所有企业都在讨论"上Agent"&#xff0c;但真正落地之后&#xff0c;大家发现一个尴尬的现实&#xff1a;简单的…...

基于瑞萨R8C MCU的180度电角度无感FOC BLDC电机控制方案详解

1. 项目概述与核心需求解析大家好&#xff0c;我是老王&#xff0c;一个在电机控制和嵌入式系统开发领域摸爬滚打了十几年的工程师。今天想和大家深入聊聊一个非常具体且有意思的项目&#xff1a;如何基于瑞萨电子的R8C系列MCU&#xff0c;来实现一套180度电角度控制的无刷直流…...

第36天:关系型数据库和MySQL概述

Python学习100天(从入门到精通系列文章) 文章目录 Python学习100天(从入门到精通系列文章) 前言 一、关系型数据库概述 1.1 数据持久化 1.2 数据库发展史 1.3 关系数据库特点 1.4 ER模型(实体关系模型) 1.5 主流关系数据库产品 二、MySQL 简介 三、安装 MySQL 3.1 Window…...

AI Agent 架构设计与实现原理深度解析

AI Agent 架构设计与实现原理深度解析 摘要 本文深入解析 AI Agent 的核心架构设计、关键组件原理及主流实现模式。从 ReAct 推理循环到记忆系统设计&#xff0c;从工具调用机制到生产级部署考量&#xff0c;全面剖析构建可靠智能体的技术要点。读者将掌握 AI Agent 的底层原…...

实测:JD匹配度从50%到90%,面试邀约直接翻倍,我才发现简历写错了10年!

“简历投出去就石沉大海&#xff0c;每天海投几十份&#xff0c;零回复。”“好不容易收到面试&#xff0c;结果聊了几句就没下文了&#xff0c;感觉岗位根本不适合我。”“JD看了又看&#xff0c;觉得自己的经验挺符合啊&#xff0c;为啥总是卡在第一关&#xff1f;”这些&…...

观察Taotoken在多模型聚合调用下的稳定性与路由表现

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 观察Taotoken在多模型聚合调用下的稳定性与路由表现 1. 引言 在构建依赖大模型能力的应用时&#xff0c;服务的连续性与稳定性是开…...

破解安卓设备标识获取难题:Android_CN_OAID的全栈兼容解决方案

破解安卓设备标识获取难题&#xff1a;Android_CN_OAID的全栈兼容解决方案 【免费下载链接】Android_CN_OAID 安卓设备唯一标识解决方案&#xff0c;可替代移动安全联盟&#xff08;MSA&#xff09;统一 SDK 闭源方案。包括国内手机厂商的开放匿名标识&#xff08;OAID&#xf…...