自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 Flask 出现 ImportError: cannot import name ‘url_quote‘ from ‘werkzeug.urls‘ 的报错解决方法

Flask运行时出现"url_quote"导入错误可能由三个原因导致:1) Werkzeug与Flask版本不兼容,可通过更新Flask解决(pip install -U flask或强制重装);2) Python和Anaconda环境冲突,需调整PATH变量顺序让Python优先;3) 建议创建虚拟环境隔离安装(python -m venv env,激活后pip install flask)。检查版本和路径命令:python --version、where python、where p

2025-07-05 10:45:11 645

原创 Git简单使用教程

Git是一款分布式版本控制系统,由Linus Torvalds开发,主要用于软件开发中的版本管理。其主要特点包括分布式开发、高效分支管理、数据完整性保障等。Git的工作流程涉及克隆仓库、创建分支、提交更改、推送远程等操作。文件状态分为未跟踪和已跟踪,通过暂存区进行中间管理。分支功能支持多人协作开发,合并时可能产生冲突需手动解决。远程仓库操作包括添加远程地址、推送代码等。Git通过命令行和图形界面工具提供灵活的项目管理能力,是个人和团队开发的重要工具。

2025-07-05 07:30:00 1084

原创 USART串口数据包

本文介绍了两种串口通信数据包格式及处理方法。HEX数据包采用固定/可变包长设计,通过包头包尾(如0xFF/0xFE)分隔数据,解决接收数据错位问题。针对数据与包头包尾冲突,提出了三种解决方案:数据限幅、固定包长对齐和使用特殊包头包尾组合。文本数据包采用可变包长,以"@"为包头、"\r\n"为包尾,在接收端通过状态机实现数据解析。文中还给出了基于STM32的具体中断处理代码实现,展示了状态机在数据包接收中的应用。两种方案各具特点,HEX包适合二进制数据,文本包适合字符数

2025-06-29 10:40:13 926

原创 串口输出的三种方式

本文介绍了C语言中串口通信的三种实现方法:1. 输入输出重定向,通过改写fputc/fgetc函数实现单个字符的收发,并扩展了字符串收发功能;2. 使用sprintf格式化字符串后发送;3. 封装可变参数的Serial_Printf函数,支持格式化输出。文中提供了详细的代码实现,包括字符/字符串的收发处理、状态检测等关键操作,适用于嵌入式系统中的串口通信开发。这些方法都需要包含stdio.h等标准头文件,并可根据实际需求选择使用。

2025-06-29 09:59:37 369

原创 STM32中Usart的使用

USART是STM32中的串行通信接口,支持同步/异步模式(常用异步UART)。它包含数据寄存器、发送/接收控制器和波特率发生器,支持8/9位数据长度、校验位及不同停止位。串口通信使用TTL、RS232或RS485电平标准,需匹配电平才能互连。通信协议包括起始位、数据位、校验位和停止位,波特率决定传输速率。USART通过硬件流控(nRTS/nCTS)防止数据丢失,并提供8倍或16倍过采样以提高抗噪性。其结构分为发送器、接收器和控制单元,需配置USART_CR1寄存器启用功能。波特率由USART_BRR寄存器

2025-06-28 20:39:48 1005

原创 MQ135在STM32中的使用

MQ135传感器对氨气、硫化物、苯系蒸汽的灵敏度高,对烟雾和其它有害的监测也很理想。这种传感器可检测多种有害气体,是一款适合多种应用的低成本传感器。当传感器所处环境中存在污染气体时,传感器的电导率随空气中污染气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。特点:在较宽的浓度范围内对有害气体有良好的灵敏度,对氨、硫化物、苯系等气氛灵敏度较高,长寿命、低成本,且简单的驱动电路即可。DO 接口为数字量输出 AO 接口为模拟量输出。4 Pin(2.54mm 间距排针)

2025-06-28 18:13:23 454

原创 SU-03T1烧录使用教程

SU-03T1是一款低成本、低功耗的离线语音识别模块,适用于智能家居、小家电等场景。该模块支持自定义唤醒词和指令,通过智能公元平台可实现零代码开发,简化开发流程。烧录过程需使用专用软件,连接UART1串口(B6、B7引脚),注意电源需5V供电。开发者在平台配置引脚、指令后生成固件,通过USB转TTL工具烧录即可使用。模块支持二次开发,配套SDK可进行复杂功能扩展。

2025-06-03 16:00:13 852

原创 Windows中“无法成功完成操作,因为文件包含病毒或潜在的垃圾软件

出现这个问题的主要原因是因为系统把软件识别成为了病毒软件。在最近写代码的过程中,使用一个软件的时候出现 “(2)首先点击病毒和威胁防护,然后点击管理设置。(1)搜索 “windows安全中心”(3)滑倒最下面,找到添加或删除排除项。(4)添加需要排除的目录。

2025-05-28 20:12:55 6779

原创 EMQX本地部署

MQTT(Message Queuing Telemetry Transport)是一种轻量级消息协议,专为低带宽、不可靠或高延迟网络环境设计,广泛应用于物联网(IoT)领域。其特点包括低功耗、发布/订阅模式、高效传输、三种服务质量等级(QoS)、遗嘱消息和保留消息。MQTT在智能家居、工业自动化和移动应用开发中表现优异,已成为物联网通信的事实标准,得到阿里云、AWS IoT等平台支持。EMQX提供了公用服务器用于调试,但需注意订阅和发布名称的独特性以避免数据干扰。本地化部署时,需在腾讯云服务器上打开特定端

2025-05-12 18:50:29 804

原创 国外付费AI软件充值教程

这篇文章是关于如何使用Chatgpt,Cursor,Opena AI,Google play,Claude pro,MidJourney, Poe,Windsurf Patreon,,Grok,Gemini等的付费订阅,使用的是野卡订阅,野卡是一张虚拟的银行卡,可以使用中国区的电话号码注册。

2025-05-12 17:53:50 680

原创 树莓派的系统烧录

树莓派是一款小型但功能强大的单板计算机,最初设计用于教育领域以促进编程和计算机科学的学习,但现在广泛应用于从学习、项目开发到服务器应用和物联网等多个领域。它能够支持各种DIY项目,如机器人控制、智能家居系统等,并且可以作为个人服务器或多媒体中心使用。根据性能和用途的不同,树莓派主要分为几个系列:Raspberry Pi 4 Model B,提供高性能处理能力和丰富的接口;Raspberry Pi 3系列,包括增强版的Model B+和紧凑型的Model A+;

2025-04-24 15:05:34 1486

原创 基于halo搭建个人博客平台

Halo 是一个现代化的、功能丰富的开源博客发布平台,旨在为创作者提供一个简单而强大的工具来管理他们的内容。它不仅支持基本的博客文章发布功能,还提供了多种扩展插件和主题以满足不同的需求。Halo 以其简洁的设计和用户友好的界面著称,适合那些希望专注于写作而不被复杂技术问题困扰的博主使用。此外,Halo 还支持多用户协作、SEO优化等功能,并且由于其开源特性,用户可以根据自己的需要自定义或扩展功能。

2025-04-16 18:23:29 1177

原创 ADC 模数转换器

对于gpio来说,它只能读取引脚的高低电频,要么是高电平,要么是低电平,只有两个值,而使用了adc之后,就可以对这个高电平和低电平之间的任意电压进行量化,最终用一个变量来表示,读取这个变量就可以知道引角的具体电压到底是多少来,所以adc其实就是一个电压表,把引脚的电压值测出来,放在一个变量里,这就是adc的作用。

2025-04-16 00:41:08 1150

原创 TIM 编码接口

第一个时刻A相上升沿对应B相低电平,对应表里的第一行;第二个时刻B相上升沿对应A相电平,是表里的第三行;第三个时刻A相下降沿对应B相高电平,是表里的第二行;最后是B相下降沿对应A相低电平,是表里的第四行,之后就是第一个到第四个状态的重复。反转第一个时刻B相上升沿对应A相低电平。第二个时刻A项上升沿对应B相高电平。第三个时刻B相下降沿对应A相高电平。第四个时刻A相下降沿对应B相低电平。

2025-04-12 15:06:28 1150

原创 TIM 输入捕获

IC(Input Capture)输入捕获输入捕获的功能描述: 输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,(就是输入引脚电平跳变的瞬间将CNT的值锁存到CCR中)。输入捕获的作用:可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数。

2025-04-12 01:00:00 1007

原创 TIM 输出比较

OC(Output Compare)输出比较输出比较可以通过比较CNT计数器与CCR捕获比较寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形。每个高级定时器和通用定时器都拥有4个输出比较通道 高级定时器的前3个通道额外拥有死区生成和互补输出的功能。IC:(Input Capture)输入捕获CC:(Capture / Compare)一般表示的是输入捕获和输出比较的单元CNT:计数器CCR:(R:register,寄存器的意思)捕获/比较寄存器。

2025-04-11 14:52:06 1309

原创 STM32中Hz和时间的转换

赫兹(Hz)是频率的国际单位,表示每秒钟周期性事件发生的次数。

2025-04-11 10:26:27 1385

原创 Nginx服务建立

Nginx继之后的另一款在Linux下被大量使用的Web服务软件。Nginx的优势在于:稳定性低系统资源损耗小巧,软件安装包小简陋,定制化强高并发能力,一台物理服务器可处理个并发请求。1.2 Nginx 部署。

2025-04-09 00:30:00 1133

原创 Tomcat 负载均衡

Tomcat是在服务器中使用Tomcat虽然和或者Nginx服务器一样,具有处理HTML页面的功能,但是其处理静态HTML的功能不及前两者。Tomcat 通常是作为Java主页的解析容器。

2025-04-08 23:14:22 1118

原创 建立PHP解析以及主页的控制访问

注意:后者覆盖前者,如下例所示:这个例子中虽然最后是禁止172.16.1.0/24访问,但是使用时候还是可以访问,是因为Order deny, allow中allow覆盖了deny,这里要把deny和allow换位置,改成 Order allow,deny。在任何情况下,Web根目录中的任何敏感资源都应该受到适当的访问控制,并且不应该碰巧知道或猜测URL的未经授权的一方访问。关闭httpd,查看php是否成功,client中的是php成功之后登录的样子,在Windows 2016 Server中访问。

2025-04-08 09:00:00 822

原创 数据库的安装

数据库的安装。

2025-04-08 02:00:00 191

原创 钓鱼网站攻防

网络钓鱼是一种网络欺诈行为,指不法分子利用各种手段,仿冒真实网站的地址以及页面内容,以此来欺骗用户银行或信用卡账号、密码等私人资料。DNS 劫持与欺骗是其主要手段。1.2 DNS欺骗DNS 欺骗就是攻击者冒充域名服务器的一种欺骗行为,冒充域名服务器后,把查询的IP地址设为攻击者的IP地址,用户上网只能看到攻击者的主页,而不是想要的访问主页。在域名解析的过程中会首先检查本地缓存,在实验时,我们可以改变本地的域名指向,指向我们自己网站的IP。

2025-04-07 12:23:54 919

原创 网络配置与日志服务器搭建

日志服务器:用处和他的名字一样,就是对 Server 中的日志进行存储,将其存储到独立的服务器中,反正黑客入侵的时候将 Server 中的日志进行删除,日志默认保存在 /var/log/ 下。将原有网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens32 备份,重新写入如下配置,即可配置网卡通过DHCP 自动获取IP地址。上面这条指令的意思入下:什么样的进程,什么样的级别,产生的日志保存在哪里,这里的.*代表所有。

2025-04-07 12:23:17 1308

原创 TIM 定时中断

TIM(Timer)定时器,定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断,这是定时器最基本的功能,就是定时触发中断。(定时器就是一个计数器,当这个计数器的输入是一个准确可靠的基准时钟的时候,那他在对这个基准时钟进行计数的过程,就是计时的过程)。比如在stm32中,定时器的基准时钟一般都是主频72MHz,比如我对72MHz即72个数,那就是一MHz,也就是1微秒的时间,如果记72000个数,那就是1000Hz,也就是1ms的时间。

2025-04-06 11:29:18 900

原创 自制便携屏

说一下LVDS的,这个在购买时候还会分为2K板,4K板,可能还有其他的板子,但是我购买时候只问了这两种,按照客服和我说的如下:2560 1600 2.5K的屏用 2k的板只能上60hz,用4K的板可以上高刷 HDMI可以130hz , typec信号源可以上144hz ,是达不到我买的屏幕的165Hz的,因为我个人觉得超过100Hz,我也看不出来,所以我也无所谓,因此我觉得现在卖的很便宜的屏幕可能是屏幕是高刷的,但是他的驱动是达不到这样的刷新的,但是他仍然标屏幕的高刷,仅个人推测,不供参考啊。

2025-04-06 11:28:31 1212

原创 定时器的基本使用

整个模块配置完成之后,需要使能计数器,定时器使能之后,计数器就会开始计数,当计数器更新时,触发中断,最后写一个中断函数,这个中断函数每隔一段时间就自动执行一次。① RCC开启时钟,定时器的基准时钟和整个外设的工作时钟就都会同时打开。⑤配置NVIC,在NVIC中打开定时器中断的通道,并分配一个优先级。④配置输出中断控制,允许更新中断输出到NVIC。注意:定时1S,就是定时1Hz。②选择时基单元的时钟源。

2025-03-26 00:29:43 626

原创 EXTI 中断的使用和函数解释

如果先要在主程序中查看和清除标志位,就用第三个中断标志管理中的函数,如果需要在中断函数中查看和清除标志位,就使用中断请求管理中的两个函数。这四个函数都是类似功能的函数,都是读写转态寄存器,只是第四个中断请求管理中的函数只能读写与中断有关的标志位,并且对中断是否允许做出了判断,第三个中的两个函数只是一般的读写标志位,没有额外的处理,能不能触发中断的标志位都能读写。EXTI中断配置的步骤如下:配置RCC,将用到的外设时钟打开。配置GPIO,设置为输入模式。

2025-03-26 00:29:19 646

原创 STM32 GPIO库函数详解

库函数是一组预编写的函数,用于执行特定的任务。它们被组织成库(Library),开发者可以在自己的项目中引用这些库并调用其中的函数。

2025-03-26 00:28:29 1648

原创 EXTI 外部中断

EXTI(Extern Interrupt)外部中断。EXTI 可以检测指定GPIO口的电平信号,当其指定的GPIO产生电平变化时,EXTI 将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI 对应的中断程序。上升沿下降沿双边沿软件触发。支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断(就是PA0和PB0不能同时使用,只能选自一个作为中断引脚)

2025-03-06 00:45:00 754

原创 GPIO的简介

GPIO(General Purpose Input Output)通用输入输出口。可配置为8种输入输出模式 引脚电平:0V~3.3V,部分引脚可容忍5V(即在这个端口输入5V 的电压,也认为是高电平,但是对输入而言,最大只能输出3.3v的,因为供电只有3.3v,可以容忍5v的需要在引脚定义中带FT(Five Tolerate)输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等。

2025-03-05 13:27:47 2041 1

原创 STM32 入门详解

建立工程文件夹,Keil中新建工程,选择型号。工程文件夹里建立Start、Library、User等文件夹,复制固件库里面的文件到工程文件夹 工程里对应建立Start、Library、User等同名称的分组,然后将文件夹内的文件添加到工程分组里。工程选项,C/C++,Include Paths内声明所有包含头文件的文件夹。工程选项,C/C++,Define内定义USE_STDPERIPH_DRIVER。

2025-03-05 08:00:00 885

原创 网络配置的基本信息

在使用centos充当路由器的时候,在不同网段直接互相通信的时候是无法实现的,因为需要在网关上开启路由转发。2.将ifcfg-ens32做一个备份。1.进入ifcf-ens32的目录。配置之后将network重启一下。3、编辑ifcfg-ens32。此时就可以实现路由转发了。此时就可以在网关上抓包了。4.将其中的部分内容删除。

2025-03-02 23:26:53 651

原创 防火墙技术

防火墙是一款具有安全防护功能的网络设备。防火墙的作用是什么?访问控制,隔离网络,将需要保护的网络与不可信任的网络进行隔离,隐藏数据信息并做安全防护。路由器不是隔离了网络么?路由器隔离的是广播域或者网段,而不是网络。IP 配好,路由配好即可全网互通,路由器默认没有任何限制。防火墙将网络分为可信任的区域和不可信任的区域,并且把可信任区域和不可信任区域分隔开。IP 配好,路由配好不能全网互通,默认情况下就会有限制。路由器和防火墙的区别是什么?路由器是3 层设备,防火墙是4/5 层设备。

2025-02-25 11:58:16 1119

原创 网络地址转换

随着Internet 的发展和网络应用的增多,IPv4 地址枯竭已经成为制约网络发展的瓶颈。尽管IPv6 可以从根本上解决IPv4 地址空间不足的问题,但目前众多的网络设备和网络应用仍是基于IPv4 的,因此在IPv6 广泛应用之前,一些过渡技术的使用是解决这个问题的主要技术手段。网络地址转换技术NAT(Network Address Translation)主要用于实现位于内部网络的主机访问外部网络的功能。

2025-02-25 00:15:00 852

原创 访问控制列表ACL

访问控制列表ACL(Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对网络访问行为的控制、限制网络流量、提高网络性能、防止网络攻击等等。1、ACL应用场景1.控制流量ACL 可以通过定义规则来允许或拒绝流量的通过。ACL 是由一系列规则组成的集合。设备可以通过这些规则对数据包进行分类,并对不同类型的报文进行不同的处理。

2025-02-24 08:15:00 2374

原创 传输层协议分析

TCP 是一种面向连接的传输层协议,可提供可靠的传输服务。TCP 位于TCP/IP 模型的传输层,它是一种面向连接的端到端协议。TCP 作为传输控制协议,可以为主机提供可靠的数据传输。在本例中,两台主机在通信之前,需要TCP 在它们之间建立可靠的传输通道。

2025-02-24 00:15:00 1299

原创 动态路由协议

网络环境中路由条目数量非常庞大,仅仅依靠工程师手动写入非常不现实,想要解决这一问题需要运用到动态路由协议。1、动态路由概述动态路由可以实现路由器之间动态的互相学习路由表,而不需要工程师手工写路由。1. 特点减少了管理任务,不需要人工费力配置路由了。能够适应网络拓扑得变化。占用网络带宽,降低网络效率。占用路由器的CPU 资源。2.动态路由协议动态路由基于一种动态路由协议实现的。动态路由协议就是路由器之间能够自动协商学习路由表的一种语言协议。

2025-02-23 08:00:00 1148

原创 路由原理与静态路由

以太网交换机工作在数据链路层,用于在网络(网段)内进行数据转发。而企业网络的拓扑结构一般会比较复杂,不同的部门,或者总部和分支可能处在不同的网络中,此时就需要使用路由器来连接不同的网络,实现网络之间的数据转发。1、路由理论基础。

2025-02-23 00:15:00 1721

原创 IP 协议分析

在剥掉帧的头部和尾部之前,网络设备需要根据帧头中Type 字段确定下一步将帧发送到哪个上层协议进行处理。以太网帧中的Type 字段值为0x0800,表示该帧的网络层协议为IP 协议。下图案例中的帧头部Type 字段表示该帧需要上送到IP 协议进行处理。以下将介绍帧的头部和尾部被剥掉后,IP协议将如何处理帧中的数据。

2025-02-22 08:00:00 1116

原创 三层交换技术

部署了VLAN 的传统交换机不能实现不同VLAN 间的二层报文转发,因此必须引入路由技术来实现不同VLAN 间的通信。VLAN 路由可以通过二层交换机配合路由器来实现,也可以通过三层交换机来实现。1、VLAN 间通信1. 限制二层通信能力VLAN 在分割广播域的同时也限制了不同VLAN 间的主机进行二层通信的能力。VLAN 隔离了二层广播域,也严格地隔离了各个VLAN 之间的任何二层流量,属于不同VLAN 的用户之间不能进行二层通信。

2025-02-22 08:00:00 973

VGG-16 模型代码实现

VGG-16 模型代码实现

2025-01-27

深度学习-AlexNet模型代码

适合深度学习入门,代码中的保存地址记得修改

2025-01-24

LeNet-5模型代码复现

LeNet-5模型代码复现

2025-01-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除