模拟信号采集显示器+GPS同步信号发生器制作全过程(焊接、问题、代码、电路)

news2024/11/28 0:42:00

 1、制作最小系统板

在制作最小系统板的时候,要用USB转TTL给板子供电,留了一个电源输入的四个接口,同时又用排针引出来VCC和GND用于后续其他外设的电源供应,电源配有电源指示灯和保护电容,

当时在焊接的时候把接口处的电源输入直接和引出的电源接口接到了一起,导致开关只控制了单片机的使能和和复位,最后的现象是开关没有按下灯就会亮,只是比较暗,开关按下后指示灯变亮,一直不知道什么问题,想着直接这样也没什么影响,最后是通过把电源引出和电源输入的连接切断重新焊接到开关后面控制解决的灯先亮的问题

问题2:使用的是XPT2046作为模拟信号转换芯片,一个是这个芯片当时只找到了贴片封装,没找到插件封装,但又需要在洞洞板上实现,在老师的建议下我知道了封装转换板,就是把芯片贴上去,他引出的可以接排针的引脚,可以买到。再一个是在焊接好之后,发现一上电就会出现引脚1-8有好几个引脚都在冒火花,冒烟,但是仔细看也无锡粘连,没有出现短路现象,后百度看到说是焊锡膏粘连短路,我用万用表测果然引脚1和2之间发生了短路(我在刚焊好时是检查过没有问题的),所以我就用电阻引脚在芯片引脚之间剐蹭掉残留的焊锡膏,确实之后就没冒烟也没有冒火花了,应该是上电之后焊锡膏受热流动将引脚粘连在一起了,所以以后洗板还是要多注意这一个问题。

2、51单片机最小系统的检查

以STC89C52为例(洞洞板、蚀刻板都要检查,工厂打板部分步骤可省略)

1.测量单片机供电是否正常

        51单片机的P20脚为GND,P40脚为VCC,红表笔接VCC,黑表笔接地:如果结果不为5V(2.6V或者其他),考虑是电源的问题。

1.1 首先检查电源线,红表笔接正极,黑表笔接负极,显示为5V左右,电源线正常。考虑是电路板的问题

1.2 将电压表调至通断档(红黑表笔短接电压表鸣叫)。

        首先检查GND连接是否正常,将黑表笔接在电源开关GND,将红表笔接在单片机GND,看万用表是否鸣叫,若鸣叫则正常;不鸣叫,则GND断路,检查GND线。

        然后检查VCC连接是否正常(单片机VCC与电源VCC)操作方法相同。

1.3 测试好后,重新检查单片机VCC与单片机GND之间电压是否为5V。只有单片机供电正常后,才能进行接下来的检查。

2.测量单片机的复位(以STC89C52RC为例,RST引脚,第9脚)

        红表笔接RST ,黑表笔接GND,观察是否为0V,若为0V,则正常。

3.测量第30脚(ALE引脚)

        红表笔接ALE引脚,黑表笔接地,如果电压值为1.7V,1.8V左右则正常,如果5V或者其他,则不正常。 若5V,可能是晶振部分出现问题,有三种情况:1.连线断了,2.某两个地方短路,3.晶振坏了。首先看18、19脚有没有短路,再看19、20有没有短路(万用表调至通断档,鸣叫即为短路),然后检查晶振脚与18脚是否断路,晶振脚与19脚是否断路。
 

3、LCD1602显示内容于背景色块重叠问题

调节对比度电位器,可解决

51单片机无法复位且LCD1602乱码问题

LCD1602按下复位后乱码的问题

保证各个外设接入干净电源和低(直接从电源处接入,减少转接)

4、AD报错 [Short-Circuit Constraint Violation] 

  (把这两个改成一样的就可以解决了)

5、PCB开板(光绘文件输出+嘉立创下单流程)

注意,下面内容属于引用,非原创,要自己去修改,现在只是记录,防止遗忘

 板材选择参考

PCB打板之前必须要知道的FR-4 - 知乎 (zhihu.com)

光绘文件输出参考(见自己的文件夹)

6、关于51单片机最小系统的复位电路问题

到底是不是只能用极性电容?还有电容电阻如何匹配和选择??

7、GPS模块解码

里面有三种数据类型:GN、GP、BD 分别代表 双模模式、GPS 模式、北斗模式,提取其中的时间信息

8、电源类芯片选型

电源芯片_luo_suo的博客-CSDN博客

9、电源防反接、MOSFET选型

怎样选择MOSFET_weixin_30399055的博客-CSDN博客

最终选择N沟道MOSFET,如何选择如下

MOSFET选得好,极性反接保护更可靠_你的酸橘真甜~的博客-CSDN博客

防反接保护电路_*fzfw的博客-CSDN博客

10、电路设计种电容的使用

360°详解去耦电容,真正的理解及在真正工程中的使用!_Nydxsst的博客-CSDN博客

去耦电容:10uF电容与0.1uF问题_去耦电容为什么选0.1uf_小小烟王的博客-CSDN博客

电路设计——电容作用_霁风AI的博客-CSDN博客

11、ICL7660数据手册

ICL7660AIBAZA-T pdf, ICL7660AIBAZA-T Description, ICL7660AIBAZA-T Datasheet, ICL7660AIBAZA-T view ::: ALLDATASHEET :::

12、LM117LD-5.0/LM1117MP-3V3数据手册

LM1117LD-1.8/NOPB pdf, LM1117LD-1.8/NOPB Description, LM1117LD-1.8/NOPB Datasheet, LM1117LD-1.8/NOPB view ::: ALLDATASHEET :::

12转5V典型应用电路

 

13、压控晶振控制电路

晶振简介(OCXO恒温、 MCXO数补、VCXO压控、VCTCXO、VCOCXO)_tsx晶体的原理_沙漠的甲壳虫的博客-CSDN博客

SiT3809:80 -220MHz 单端压控振荡器VCXO_SiTime样品中心的博客-CSDN博客

14、信号发生部分

CPLD->产生方波

正弦信号发生器(DAC0832)

基于stm32单片机的信号发生器设计_基于stm32的信号发生器_单片机实例设计的博客-CSDN博客

15、STM32复位电RC时间计算、最小系统

STM32上电复位电路参数选择 - 爱码网 (likecs.com)

stm32f103c8t6最小系统引脚及功能原理图_stm32f103c8t6引脚图及功能_岁月哥的博客-CSDN博客z

基于STM32波形信号发生器proteus仿真设计(仿真+程序+报告+讲解)_stm32信号发生器_BT-BOX的博客-CSDN博客

16、直流插头的接法

DC直流电源插座 DC-005-2.6 - 简书 (jianshu.com)

17、退耦电容

退耦电容原理--退藕电容的一般配置原则_退藕电解电容用高频低阻_「已注销」的博客-CSDN博客

浅谈为什么大电容滤低频小电容滤高频的问题_电容大小与滤波频率的关系_学无止境_Charles的博客-CSDN博客

高频滤波电容的容量选择?_caoshengbiao的博客-CSDN博客

18、STM32F103C8T6最小系统

Altium Designer绘制stm32最小系统原理图_ad原理图模块分割线_缔宇diyu的博客-CSDN博客

STM32F103ZET6最小系统板制作指引_仙不悔的博客-CSDN博客

19、STM32的两个晶振

stm32 为什么有二个晶振_stm32为什么要两个晶振_红了芭蕉,绿了樱桃:)的博客-CSDN博客

20、STM32F103C8T6数据手册

STM32F103C8T6 pdf, STM32F103C8T6 Description, STM32F103C8T6 Datasheet, STM32F103C8T6 view ::: ALLDATASHEET :::

嘉盛单片机开发参考资料

更多资料链接

21、DAC0832使用详细参考

(七)DAC0832 数模转换芯片的应用 以及运算放大器的学习 01 - 无悔这一生。 - 博客园

22、IO扩展之74HC595

单片机芯片之——图解74HC595(第一部分)_Vuko-wxh的博客-CSDN博客 51单片机74HC595驱动LCD1602扩展IO口_单片机驱动595_菜鸟会点灯的博客-CSDN博客

 为什么没有使用74HC595呢?因为本来是节约4个IO,但是由于LCD1602还要一个忙不忙的反馈判断需要读取D7位,则还要占据一个IO,只节约3个IO操作要增加一步,所以先不考虑这种扩展。

23、STM32通过74HC595扩展IO驱动LCD1602 

51单片机74HC595驱动LCD1602扩展IO口_单片机驱动595_菜鸟会点灯的博客-CSDN博客

为什么没用呢?因为用的话确实IO可以节省4个,但是由于LCD操作前还要判断忙不忙,使用74HC 

(最后还是用了)

24、STM32下载程序相关

STM32最小系统板程序下载_stm32最小系统板下载程序_Wooooone的博客-CSDN博客

25、STM32的AFIO时钟使用

STM32的复用时钟(应该是复用重映射时钟)的开启时间。只是单纯的默认的复用类似引脚第二功能,不需要开始复用重映射时钟,发生重映射才开启复用重映射时钟_复用时钟开启后复用重映射时钟需要开启吗_qq_25814297-npl的博客-CSDN博客

26、proteus报错解决 

1、电源未配置(stm32中间的VDDA,VSSA隐藏管脚)proteus提示“No power supply specified for net VDDA in Power Rail Configuratin” 错误_没有为电源轨配置网络vdda指定电源_Fang_s076的博客-CSDN博客

2、接线端子设置不进行仿真Proteus 仿真时出现 No model specified for J1、2、3 debug_no model specified for j1. [j1]_perseverance52的博客-CSDN博客

3、未加载程序文件proteus 遇到Program file is not specified和Real Time Simulation failed to start._proteus未指定程序文件_霍志杰的博客-CSDN博客 

27、Proteus闪退问题解决办法 

Proteus 8.12 安装教程及解决闪退-CSDN博客

STM32进行Protuse仿真时一直报错要注意这些:

1、32芯片晶振频率是否设置,如果没有,message在仿真时错误会一直增加达到好几千条 

2、创建工程要选择部件库M3内核,且选择keil编程(自己截图证明)

(此两条属于原创解决哈哈哈)

在Proteus进行stm32程序的仿真运行_不#曾&轻听的博客-CSDN博客

28、DAC管教使用法则

DAC0832_百度百科

概括来说就是:

ILE(H)

CS和WR1接在一起组合成LE1,用一个IO控制,H时DAC寄存器输出随输入变化,下降沿锁存

XFER和WR2组合成LE2,用一个IO控制,为H时DA寄存器的输出随寄存器输入变化,下降沿时将数据锁存器的值打入DAC寄存器并开始D/A转换

29、STM32使用片外8M高速时钟(使用的第二段程序代码最后行拿出来放到外面)

【STM32】系统时钟RCC详解(超详细,超全面)_stm32时钟_Z小旋的博客-CSDN博客

30、STM32使用SWD下载程序 

STlink使用四线SWD为STM32下载/调试程序_cumt240的博客-CSDN博客

STlink使用四线SWD为STM32下载/调试程序_stlink四根线_cumt240的博客-CSDN博客

(按照第二个接线是成功的)

31、STM32同时使用多个串口 

STM32同时使用多个串口,使用printf_stm32多个串口怎么用printf_xiao_zhou_joy的博客-CSDN博客

32、GPS部分

1、字符串相关函数:

strstr()函数的使用说明(C语言)__Crazy€的博客-CSDN博客

2、GPS数据格式:NMEA-0183协议_pzs0221的博客-CSDN博客 

33、CPLD部分

1、关于安装MAX II库。很惭愧我没在官网找到到底在哪儿下载,直接在网上下载的,注意要是.qdz后缀,按照文件默认路径,如果已有库文件复制到默认路径还是显示Can't find Quartus ll Subscription Edition device files (.qdz)in directory F:\CPLDquartusbin,则是因为版本不匹配,要对应,Quartus ll版本不仅看13.0,还要看后面的数字也要一致,在这里可以看

Quartus II软件安装过程中的can't find Quartus II subscription Editon device file(.qdz)_nwsuaf_huasir的博客-CSDN博客

2、仿真Modelsim

破解版安装教程

modelsim se 10.5安装教程_modelsim10.5_呓语煮酒的博客-CSDN博客

3、Quartus报错解决:

1)Error (292027): Specified license does not contain information required to run the Quartus II software

许可证出了问题,License可能自动链接到Modelsim在C盘下建立的文件夹,换回来就可以了

2) Error (292027)Error: Quartus II 64-Bit EDA Netlist Writer was unsuccessful. 1 error, 0 warnings     Error: Peak virtual memory: 4485 megabytes     Error: Processing ended: Thu Mar 23 11:43:20 2023     Error: Elapsed time: 00:00:00     Error: Total CPU time (on all processors): 00:00:00: Specified license does not contain information required to run the Quartus II software

34、Mudelisim仿真始终没有任何变化 

工程文件打仿真要在simlation->start simulation->work里面选第二个那个在源文件名后面加了一串的那个文件,重新打开的wave需要手动添加查看变量

35、STM32和CPLD进行SPI通信

STM32与FPGA之间的SPI通讯_stm32 fpga_涛涛呐~的博客-CSDN博客

36、CPLD驱动74HC595

FPGA驱动74HC595实现数码管动态显示_74hc595驱动数码管_学习就van事了的博客-CSDN博客

37、CPLD驱动DAC0832

电子设计大赛-信号源类题目分析_三个独立的信号源 正弦波:频率50hz,幅值1v,偏移1v; 脉冲波:频率10khz,幅值0v/1v_嵌入式基地的博客-CSDN博客

38、CPLD方波毛刺处理(软件)

方波中的毛刺_方波上升沿毛刺过大怎么办_ALIFPGA的博客-CSDN博客

39、Quartus II报错解决

 1、

Quartus 2 使用错误集锦_error (10137): verilog hdl procedural assignment e_xhnmn的博客-CSDN博客

2、assign 里面进行赋值的语句一定要是reg变量 

40、Quartus II与Modelsim联合仿真操作

1、仿真步骤:各种初始配置及联合请看正点原子相关视频,讲得很清楚,现在只联合配置完从建立工程后。

最先要连接到Modelsim

第一步:生成test_bentch

第二步 按照生成后下方信息栏给出的路径打开test_bentch文件,文件后缀为.vt(打开文件夹没有看到就将文件类型改为 all files),一般是这个路径下

​打开界面如下(以一个5分频工程为例,下面是配置完的,刚打开是没有配置的,需要自己配置) 

第三步 test_bentch 的配置(分为5个部分)

①时间分度值,此处决定了仿真里面所有的延时时间单位,默认是1ps/1ps,一般调试改成ns够用

比如是1ns/1ns,则 #100就是延时100ns (再执行这一行的语句)

②注意这个名字是工程名自动后面加了“——vlg_tst”这个是不能更改的,而且后面在Modelsim里面仿真也要选择这个文件名,否则可能出现没有任何波形的情况

.v文件里所有用到的输入和输出都会出现在这里,输入定义为reg类型,输出定义为wire类型,默认就会有,不用管

③inital块

里面配置时钟、复位信号的初始值,注意复位信号,比如下降是复位,那么这里就要配置为上升沿才会有波形输出,因为配置为下降沿则为复位

④always里面是自动循环的,所以时钟信号翻转就配置在此处

其他没说的就不用管

第四步 配置完进行编译

第五步 进入Modelsim进行仿真,按照如下操作会自动跳转

第六步 会自动弹出很多窗口,但是我之前试过这个一直无法正常仿真,所以我按照如下方法

,在Modelsim里面按照如下方法

弹出窗口按照如下选择,一定要选那个结尾是_vlg_tst的文件

之后会自动跳转,再选中要查看波形的输入输出IO,添加到波形窗

调整仿真时间,点击运行,即可出现波形

如果没有的话点击WAVE窗口,ZOOM ALL 不是灰色了,再点击ZOOM ALL 再看看

以下为5分频波形仿真结果

41、压控晶振参数选择

一文搞懂!压控晶振工作原理及参数要求_百科TA说 (baidu.com)

42、AD编译过程种的问题

【AD15绘制原理图编译的一些警告的处理】_contains floating input pins_隐形的猫咪的博客-CSDN博客

43、AD报错解决

1、AD:细节  Off grid Net Label 0ILE at 14185.847mil,9200mil——栅格的问题

AD10原理图编译出现错误--off grid处理方法_Aries_新浪博客

44、PCB布线

【硬件设计】关于电赛——硬件设计和PCB绘制的一些心得(持续更新)_电赛使用的电路板的要求_GalaxyerKw的博客-CSDN博客

2、AD一起用BOOM表就闪退 ???

3、AD布线相关(板尺寸估计)

Altium AD20的PCB板框绘制、定义板子形状、重新设置原点、放置尺寸标注_ad板框画在哪一层_Mark_md的博客-CSDN博客

4、AD导出BOOM表的时候要先打开WPS或者Excel ,否则没有反应

5、线宽选择:(毕设:信号线:15mil,电源线:30mil;过孔20mil,焊盘35mil)

通常信号线宽为:0.2~0.3mm,0.254mm   10mil

电源线为1.2~2.5 mm,1.5mm      50mil

过孔:50mil,焊盘60mil

对于两层板来说,最好这样规划:表层走多条电源信号,另一层走多条地信号,让电源和地信号像“井”字形排列,基本上不走环线

一般都是就近接地,但要区分模拟和数字地:模拟器件就接模拟地,数字器件就接数字地;大信号地和小信号地也分开来

同时具有模拟和数字功能的电路板,模拟地和数字地通常是分离的,只在电源处连接避免相互干扰。不要把数字电源与模拟电源重叠放置,否则就会产生耦合电容,破坏分离度

6、过孔大小

过孔孔径优选系列如下:0.3mm,0.5mm(过孔、焊盘)

7、这个报错怎么办?也不能忽略,连线出来线都是绿叉

PCB焊盘之间间距小于10mil报错_collision小于10mil-CSDN博客

修改这个地方才可以

45、STM32各类时钟的区别(包括如何使用外部8M时钟)

STM32各种时钟的区别_内部时钟和外部时钟的区别_枯藤闲画云的博客-CSDN博客

46、DAC0832后面接LM358的作用,为什么没有看到任何反馈电阻??

从DAC0832内部工作原理探索DAC0832输出电压的方法_dac0832工作原理_pang9998的博客-CSDN博客

STM32如何使用外部8M晶振吗,配置前后没有区别是为什么?

使用外部 8M晶振的原因是精度更高。(void RCC_Configuration(uint32_t pllmul)放在sys.c文件)

​ STM32输出波形频率计算(此图片为转载)

47、0R电阻 

0R 电阻在电路中的作用_0r电阻的作用_P_xiaojia的博客-CSDN博客

48、电路功耗分析

1、STM32(此图片为转载)

捕获sdfsd.JPG

2、CPLD(FPGA)(MAX II)

quartus II带有估算功耗的功能(具体怎么用还不知道)

3、功耗分析的相关补充知识 

芯片功耗分析_input duty_王_嘻嘻的博客-CSDN博客

49、GPS授时新角度

原来我一直想着通过捕获的外部信号作为基准去改变内部时钟的定时情况,现在突然打开新思路,不需要改变内部时钟情况,我可以产生捕获一个秒脉冲,同时用系统时钟产生一个秒脉冲,直接测量两个的相位差,比对得到误差再调整我系统时钟的输出波形,进行一个误差补偿,好像问题是不是解决了???

1、比如FPGA就可以做到测量两路信号的相位差(如下)

基于FPGA和STM32的相位差测量(含源码)_stm32测量相位差_Bigbeea的博客-CSDN博客

FPGA测两路信号相位差_fpga测相位_lt66ds的博客-CSDN博客

2、STM32+FPGA测频率基于FPGA和STM32的频率计设计(100Mhz-1hz精确到0.1hz)_stm32简易数字频率计设计_Bigbeea的博客-CSDN博客

50、quartus如何看rtl图

 要先编译

之后会弹出rtl图(如下图所示)

图一5分频

图二 STM32与CPLD进行SPI通信

51、使用压控晶振那些你需要知道的事

以我所实用的Si3808  VCXO为例。(6脚压控晶振)

1、工作电压的范围

2、晶振的中心频率(50MHz)

3、晶振的控制电压范围:中心频率对应的控制电压为Vdd(电源电压)/2,且在数据手册里面对应有相应电源电压下的最大控制电压和最小控制电压,比如我使用的电源电压是3V3,标称频率为50MHz,则中心频率输出对应的电压是3V3/2=1.65V左右,根据数据手册该电源电压下的最大控制电压是3.2V,最低控制电压是0.1V,则控制电压调节范围为0.1V-3.2V控制电压输入阻抗是100KΩ,输入电容是5pF,输出电压最高为90%Vdd,最低为10%Vdd。

4、电路连接有要求:数据手册里面明确Vdd端要有15pF电容,Vdd要有104电容

5、ppm,晶振相对偏差单位,数字越小精度越高,计算方法n (ppm) =▲f(Hz)/中心频率f0(MHz),其中▲f为可调节频率范围,比如我选的是n=±100,f0=50,则可调节频率范围▲f=n*f0=±5000Hz。

6、提醒;晶振布线要尽可能靠近芯片,晶振周围最好不要其他器件

52、FPGA进行串口通信(读取GPS数据包括UTC,经纬度信息等,暂时先不用,作为后续参考)

FPGA项目四:串口通信_fpga串口调试助手_da..的博客-CSDN博客

53、模拟地和数字地的问题

模拟地与数字地详解_模拟电路与数字电路地一点共地的目的是_kevinhg的博客-CSDN博客

54、quartuas Ⅱ编译警告解决

1、Warning (10230): Verilog HDL assignment warning at cpld_catch_pps.v(137): truncated value with size 32 to match size of target (8)

FPGA Verilog编译时警告Warning (10230): truncated value with size 32 to match size of target (3)_panhongfeng111的博客-CSDN博客

2、 Verilog HDL Conditional Statement error at top_module

HDLBites学习笔记之Error (10200): Verilog HDL Conditional Statement error at top_module_程默白的博客-CSDN博客

3、 

最大难题——依靠外来信号减小相位差同时输出电压控制外部振荡器!!!!!!!!终于找到一点方向,原来有锁相环的!!!!!!!!!

哈哈,CPLD没有锁相环这个功能,又回到最初的起点

55、FPGA任意分频

FPGA基础设计(二):任意分频器(奇数,偶数,小数)_fpga小数分频_帅杰的芯路之旅的博客-CSDN博客

56、基于CPLD驱动DAC0832的信号发生器

1、

eda设计基于CPLD的信号发生器设计.doc 全文免费在线看-免费阅读-max文档投稿赚钱网 (book118.com)

2、CPLD以查表方式生成正弦波,首先需要利用MATLAB或者是Python生成相应的码表

57、FPGA测量信号频率(只有第一个可以用,第二个和第三个CPLD用不了,资源不够)

FPGA频率测量的三种方法(直接测量法,间接测量法,等精度测量法)_fpga频率测量的三种方法(直接测量法,间接测量法,等精度测量法)_孤独的单刀的博客-CSDN博客

58、MATLAB导入EXCEL数据画图 

如何将excel文件导入matlab并绘制曲线-百度经验 (baidu.com)

 免费转PDF

7个免费PDF转换软件推荐 - 知乎

59、IEEE网站英文文献下载方式

IEEE XPLORE论文PDF免费下载方法-CSDN博客

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

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

相关文章

云计算实验1——基于VirtualBox的Ubuntu安装和配置

实验步骤 1、VirtualBox的安装 本实验使用VirtualBox-7.0.10 进行演示。对于安装包,大家可以前往 VirtualBox官网下载页面(https :/ / www. virtualbox.org/wiki/Downloads)下载其7.0版本安装包进行安装,或者直接使用QQ群的安装包VirtualBox-7.0.10-15…

基于开源Jetlinks物联网平台协议包-MQTT自定义主题数据的编解码

目录 前言 1.下载官方协议包 2.解压 3.自定义主题 4.重写解码方法 5.以下是我解析后接收到的数据 前言 最近这段时间,一直在用开源的Jetlinks物联网平台在学习,偶尔有一次机会接触到物联网设备对接,在协议对接的时候,遇到了…

Spring面试题——第五篇

1. Spring的优点 轻量级和非侵入性:不需要引入大量的依赖和配置。面向切面编程:Spring提供了强大的面向切面编程,允许用户定义横切关注点,并将其与核心业务逻辑分离,提高了灵活性。依赖注入(DI&#xff09…

java对接钉钉发送消息(纯萌新文档解惑)

java对接钉钉(纯萌新文档解惑) 注意:不是其他直接给你个写好的钉钉工具类,但不知道它怎么来的。是以钉钉官方文档为准,流程是什么,你想要什么可以自己在文档找(所有文档都有只是萌新看着懵&…

Kafka高可用性原理深度解析

在分布式系统中,高可用(High Availability, HA)是指系统在面对硬件故障、网络分区、软件崩溃等异常情况时,仍能继续提供服务的能力。对于消息队列系统而言,高可用性尤为重要,因为它通常作为数据流通的中枢&…

SSD | (十)PCIe介绍(上)

文章目录 📚从PCIe的速度说起📚PCIe拓扑结构🐇PCI——总线型拓扑结构🐇PCIe——树形拓扑结构📚PCIe分层结构📚PCIe TLP类型📚PCIe TLP结构🐇通用结构🐇具体TLP的Header📚从PCIe的速度说起 PCIe发展至今,速度一代比一代快。 连接速度所示1、2等是指PCIe链接…

Python 打包成 EXE 的方法详解

#1024程序员节|征文# 日常开发中,python由于其便捷性成为了很多人的首选语言,但是python的环境配置也是有点麻烦的,那么我们如何让其变得更加友好呢?没错,就是打包成exe可执行文件。 一、PyInstaller 简介…

修改windows11的hosts,配置127.0.0.1域名(最清晰)

这里记录的是学习短链接项目,通过配置127.0.0.1域名,达到可以通过域名代替127.0.0.1访问127.0.0.1下的某个端口的服务,达到短链接的前缀的效果,这里展示windows11的更改过程。 一、hosts文件路径 C:\Windows\System32\drivers\e…

【Java数据结构】---哈希表

乐观学习,乐观生活,才能不断前进啊!!! 我的主页:optimistic_chen 我的专栏:c语言 ,Java 欢迎大家访问~ 创作不易,大佬们点赞鼓励下吧~ 前言 在顺序结构以及平衡树中&…

littlefs源码分析1-设计思考

1.littlefs设计目的 littlefs 最初是作为一个实验而构建的,目的是在微控制器的环境中了解文件系统设计。目的是:构建一个在不使用无限制内存的情况下对电源丢失和闪存磨损具有弹性的文件系统。 这对嵌入式文件系统littlefs提出了三个主要要求&#xff1…

【Linux】 exit 和 _exit 的区别

在Linux系统中&#xff0c;exit(int status) 和 _exit(int status) 都是用来终止进程的函数&#xff0c;都能通过参数 int status传递一个整型的退出状态码给父进程&#xff0c;但它们之间有一些重要的区别。 1. 头文件不同 exit() 函数定义在 <unistd.h> 中 _exit() 函…

【Python爬虫实战】高效解析和操作XML/HTML的实用指南

&#x1f308;个人主页&#xff1a;https://blog.csdn.net/2401_86688088?typeblog &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、lxml的安装 &#xff08;一&#xff09;使用 pip 安装 &#xff08;二&…

(一)ubuntu下通过c++编译cpu版本paddleocr-2.8.1

编译环境 操作系统&#xff1a;ubuntu 20.04/22.04 OCR版本&#xff1a;paddleocr 2.8.1 Opencv版本&#xff1a;opencv3.4.16/4.10.0 o参照官方文档&#xff1a; PaddleOCR/deploy/cpp_infer/readme_ch.md at release/2.6 PaddlePaddle/PaddleOCR GitHubhttps://github…

Vue3脚手架和指令

什么是Vue&#xff1f; 简单来说&#xff0c;vue就是可以让有写代码很爽的体验。 概念&#xff1a;Vue是一套构建用户界面的渐进式JavaScript框架。 什么是构建用户界面&#xff1f; 基于数据渲染出用户可以看到的界面 什么是渐进式&#xff1f; 渐进式就是循序渐进的学习…

LabVIEW提高开发效率技巧----VI继承与重载

在LabVIEW开发中&#xff0c;继承和重载是面向对象编程&#xff08;OOP&#xff09;中的重要概念。通过合理运用继承与重载&#xff0c;不仅能提高代码的复用性和灵活性&#xff0c;还能减少开发时间和维护成本。下面从多个角度介绍如何在LabVIEW中使用继承和重载&#xff0c;并…

HttpURLConnection构造请求体传文件

HttpURLConnection构造请求体传文件 在Java中&#xff0c;使用HttpURLConnection构造请求体传输文件&#xff0c;你需要做以下几步&#xff1a; 1、创建URL对象指向你想要请求的资源。 2、通过URL打开连接&#xff0c;转换为HttpURLConnection实例。 3、设置请求方法为POST。 …

Java 多线程(五)—— 阻塞队列、wait、notify

wait wait 和 notify 都是 Object 类提供的方法&#xff0c;也就是说 Java 任意对象都可以使用 这两个方法。 首先 wait 会抛出 InterruptedException 这个异常&#xff0c;说明这个方法可以被 interrupt 给唤醒。 然后我们是不能直接使用 wait 方法的&#xff0c;否则还会抛…

Win10系统安装docker操作步骤

Docker下载 docker下载地址&#xff1a;Docker: Accelerated Container Application Development 打开网页后&#xff0c;点击图下所示&#xff0c;下载windows版本的docker 启用Hyper-V 和容器特性 右键左下角windows图标&#xff0c;选择应用和功能 然后在下面的界面中&am…

电脑技巧:Rufus——最佳USB启动盘制作工具指南

目录 一、功能强大&#xff0c;兼容性广泛 二、界面友好&#xff0c;操作简便 三、快速高效&#xff0c;高度可定制 四、安全可靠&#xff0c;社区活跃 在日常的电脑使用中&#xff0c;无论是为了安装操作系统、修复系统故障还是进行其他需要可引导媒体的任务&#xff0c;拥…

初始JavaEE篇——多线程(2):join的用法、线程安全问题

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;JavaEE 目录 模拟实现线程中断 join的用法 线程的状态 NEW&#xff1a; RUNNABLE&#xff1a; TIMED_WAITING&#xff1a; TERMINATED…