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

 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博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

设计模式(二)工厂模式详解

设计模式(二)工厂模式详解 简单工厂模式指由一个工厂对象来创建实例,适用于工厂类负责创建对象较少的情况。例子:Spring 中的 BeanFactory 使用简单工厂模式,产生 Bean 对象。 工厂模式简介 定义:工厂模式是一种创建…

机房巡检机器人有哪些功能和作用

随着数据量的爆炸式增长和业务的不断拓展,数据中心面临诸多挑战。一方面,设备数量庞大且复杂,数据中心内服务器、存储设备、网络设备等遍布,这些设备需时刻保持良好运行状态,因为任何一个环节出现问题都可能带来严重后…

java项目之电影评论网站(springboot)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的电影评论网站。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 电影评论网站的主要使用者管…

如何在 Ubuntu 24.04 上安装多PHP版本 (从8.3到5.6) ?

PHP 代表超文本预处理器,它仍然是网络的基石,为互联网上很大一部分网站和网络应用程序提供动力。大多数顶级网站和博客工具仍然使用 PHP,如 WordPress, Facebook, Wikipedia 等。如果你在 Ubuntu 24.04 上为 web 开发,安装 PHP 可…

算法的学习笔记—数组中只出现一次的数字(牛客JZ56)

😀前言 在数组中寻找只出现一次的两个数字是一道经典的问题,通常可以通过位运算来有效解决。本文将详细介绍这一问题的解法,深入解析其背后的思路。 🏠个人主页:尘觉主页 文章目录 🥰数组中只出现一次的数字…

rtsp的2种收流模式

rtsp协商成功以后就是rtp收流,又分为两种模式:rtp over rtsp(tcp)和rtp over udp。 1.rtsp over rtsp 这个现在一般都叫TCP,它的特点是rtsp服务端和客户端是共用一个tcp链接,也就是说rtsp协议报文、rtp包、rtcp数据都是通过这一个链接来交互…

合约门合同全生命周期管理系统:企业合同管理的数字化转型之道

合约门合同全生命周期管理系统:企业合同管理的数字化转型之道 1. 引言 在现代企业中,合同管理已经不再是简单的文件存储和审批流程,而是企业合规性、风险管理和业务流程的关键环节之一。随着企业规模的扩大和合同数量的增加,传统…

第二单元历年真题整理

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 参考答案 1. A 2. A 3. A 4. D 5. D 6. D 解析: 栈和队列是两个不一样的结构,不能放在一起表示 7. B 8. C 解析: S --> A0 | B1 --> (S1 | 1) 0 | (S0 | 0)1 --> S10 | 10 | S…

51单片机快速入门之 模拟 I2C 用精准中断来控制

51单片机快速入门之 模拟 I2C 用精准中断来控制 首先复习一下51单片机快速入门之定时器和计数器(含中断基础) 再看看之前的I2C操作 51单片机快速入门之 IIC I2C通信 定时器/计数器是51单片机中用于实现精确延时的硬件资源。通过配置定时器的初始值和工作模式,可以…

Unable to open nested entry ‘********.jar‘ 问题解决

今天把现网版本的task的jar拖回来然后用7-zip打开拖了一个jar进去替换mysql-connector-java-5.1.47.jar 为 mysql-connector-java-5.1.27.jar 启动微服务的时候就报错下面的 Exception in thread "main" java.lang.IllegalStateException: Failed to get nested ar…

《Python游戏编程入门》注-第2章2

《Python游戏编程入门》的“2.2.5 绘制线条”中提到了通过pygame库绘制线条的方法。 1 相关函数介绍 通过pygame.draw模块中的line()函数来绘制线条,该函数的格式如下所示。 line(surface, color, start_pos, end_pos, width1) -> Rect 其中,第一…

开源限流组件分析(二):uber-go/ratelimit

文章目录 本系列漏桶限流算法uber的漏桶算法使用mutex版本数据结构获取令牌松弛量 atomic版本数据结构获取令牌测试漏桶的松弛量 总结 本系列 开源限流组件分析(一):juju/ratelimit开源限流组件分析(二):u…

部署前后端分离若依项目--CentOS7宝塔版

准备: CentOS7服务器一台 通过网盘分享的文件:CentOS 7 h 链接: https://pan.baidu.com/s/17DF8eRSSDuj9VeqselGa_Q 提取码: s7x4 大家有需要可以下载这个,密码61 若依前端编译后文件 通过网盘分享的文件:ruoyi-admin.jar 链…

生信软件39 - GATK最佳实践流程重构,提高17倍分析速度的LUSH流程

1. LUSH流程简介 基因组测序通常用于分子诊断、分期和预后,而大量测序数据在分析时间方面提出了挑战。 对于从FASTQ到VCF的整个流程,LUSH流程在非GVCF和GVCF模式下都大大降低了运行时间,30 X WGS数据耗时不到2 h,从BAM到VCF约需…

【计网】UDP Echo Server与Client实战:从零开始构建简单通信回显程序

目录 前言: 1.实现udpserver类 1.1.创建udp socket 套接字 --- 必须要做的 socket()讲解 代码实现:​编辑 代码讲解: 1.2.填充sockaddr_in结构 代码实现: 代码解析: 1.3.bind sockfd和…

linux中级wed服务器(https搭建加密服务器)

一。非对称加密算法: 公钥:公共密钥,开放 私钥:私有密钥,保密 1.发送方用自己的公钥加密,接受方用发送方的私钥解密:不可行 2.发送方用接受方的公钥加密,接受方用自己的私钥解密…

ffmpeg视频滤镜: 色温- colortemperature

滤镜简述 colortemperature 官网链接 》 FFmpeg Filters Documentation 这个滤镜可以调节图片的色温,色温值越大显得越冷,可以参考一下下图: 咱们装修的时候可能会用到,比如选择灯还有地板的颜色的时候,选暖色调还是…

【论文+源码】基于spring boot的垃圾分类网站

创建一个基于Spring Boot的垃圾分类网站涉及多个步骤,包括环境搭建、项目创建、数据库设计、后端服务开发、前端页面设计等。下面我将引导您完成这个过程。 第一步:准备环境 确保您的开发环境中安装了以下工具: Java JDK 8 或更高版本Mav…

Unity URP ShaderGraph 基本设置

先简单了解一下各种渲染管线之间的区别 Unity 从 2019.3 版本开始正式支持通用渲染管线(URP,Universal Render Pipeline)。URP 是轻量渲染管线(LWRP,Lightweight Render Pipeline)的升级和重命名版本&…

【解决】使用Hypermark将Markdown文件转化为HTML文件

写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 文章目录 一、文件准备(一)HTML模板文件(二)MD文件夹和储存文件夹 二、文件转…