单片机学习笔记---串口通信(1)
目录
通信的基本概念
通信的方式
1.按照数据传送的方式,可分为串行通信和并行通信。
1.1串行通信
1.2并行通信
2.按照通信的数据同步方式,又可以分为异步通信和同步通信。
2.1 异步通信
2.2同步通信
3.按照数据的传输方向,又可以分为单工通信,半双工通信,还有全双工通信。
3.1单工通信
3.2半双工通信
3.3全双工通信
4.总线
通信速率
串口通信简介
串口通信
串口
接口标准和接口种类
接口标准
接口种类
常见通信接口
接口上的引脚定义
逻辑电平
串口数据收发线:交叉连接
通信协议
通信的基本概念
随着单片机的系统的广泛应用和计算机网络的技术普及,单片机的通信功能越来越重要。 像在WiFi、蓝牙、GPS、GSM和GPRS这些应用当中,充分体现了串口通信的重要性。 学习51单片机的重点难点,主要体现在51的中断、定时计数器、以及串口通信这些功能。中断、定时计数器再前四节已经搞定,本节就来学习一下串口通信。
下面我们就来看一下串口通信相关的一些基本概念。 我们知道51单片机不仅可以实现串口通信还可以通过IO口模拟实现多种其他的一些通信,比如SPI,IIC等等,学习这些通信前,我们就很有必要了解一下通信的一些基本概念。
通信的方式
可以分为很多种:
按照数据传送的方式,可分为串行通信和并行通信。
按照通信的数据同步方式,又可以分为异步通信和同步通信。 按照数据的传输方向,又可以分为单工通信,半双工通信,还有全双工通信。
下面就逐个来介绍。
1.按照数据传送的方式,可分为串行通信和并行通信。
1.1串行通信
在串行通信当中,是指使用一条数据线将数据一位一位的一次进行传输,每一位数据占据固定的时间长度。只需要很少的几条线就可以在系统之间进行数据交换,特别适用于计算机与计算机,计算机与外部设备的远距离的传输,这样,可以大大的节约成本,因为它只需要很少的线。
那像在数据传输过程当中,它的数据是依靠一根线来进行一位一位的传输,它优先传输低位(D0),最后在传输高位(D7),字节的数据就通过8次传输到接收设备当中。

串行通信它有一个特点就是传输线很少,从这张图当中也可以看到,它只需要一根线,对于长距离传输的这些应用,它的成本是非常低的。 可以利用电话线,或者是一些网线这些现成的设备来进行传输,但是传输的控制,以及稳定性就相对来说要复杂一些。 因为你这个数据要在一条数据线上面进行传输,你需要对它的数据进行处理,一位的一位的发送,那相比于并行通信来说,相对来说要复杂一点。
1.2并行通信
那我们再来看一下并行通信。
它通常是将这个数据的字节的各个位(一个字节为8位)按照多条数据线同时进行传输,通常是有8位,16位,32位的数据一起传输。
那像我们这张图当中,要传输一个字节的数据,那这里就有8根并行线接到接收设备,一个字节就是通过每一根线传输一位,总共就8位,一次性传输过去。

这种通信方式的特点,是控制简单,传输速度快。一个字节一下就传过去了,不需要一位一位的传。
我们前面的串行通信是一个字节分8次,一次一位的传输,而我们并行通信是8位同时传输,这样的速度,比串行通信肯定是更快的。
但是如果说由于这个传输线比较多,那对于长距离传输的一些应用就增加了比较大的成本。
比如说我们在长距离传输的时候,如果使用串行通信的时候,它只要一根数据线,而这个并行通信,它需要8根,所以成本相对于串行通信来说比较高的。并且,我们长距离传输的时候,接收方的各位同时接收存在困难,所以它的抗干扰能力,就要差一些。
2.按照通信的数据同步方式,又可以分为异步通信和同步通信。
2.1 异步通信
异步通信:通信双方各自约定通信速率
异步通信是指通信的发送和接收设备使用各自的时钟控制数据的发送和接收过程,为了使双方收发协调,要求发送的设备和接收的设备的时钟尽可能一致。

这是什么意思?因为它们要使用各自的时钟来控制它的数据发送和接收,如果说你们这两个设备发送设备和接收设备的时钟都不相同的话,那么它接收的数据也可能是错的或者是乱的,所以在异步通信的过程当中,要求发送设备和接收设备它的时钟尽可能要一致。
异步通信是以字符为单位进行传输的,字符与字符之间的间隙是任意的。但每个字符中的个位是以固定的时间传输,也就是说字符之间的间隔时间或者说间隙是任意的。

但是,它字符之间不一定有位间隔的整数倍关系,但是同一个字符内的各个位之间的间隙是位间隔的整数倍关系。
我们来看一下,对于异步通信来说,字符帧的格式是这样的。
有起始位,然后紧接着跟着八个数据位,它也有校验位和停止位,这是一帧一帧的字符数据,总共是11个,也就是说字符帧通常含有11个位。

异步通信的特点是不要求收发双方的时钟严格一致,实现容易。
比如说我们发送设备的时钟的频率假设是11.0592,那这个接收设备不是说一定要按照11.0592兆,它可以有一定的有误差范围,这样对于我们接收设备来说,实现这么大的时钟就比较容易一点,而不是精确,设备开销也较小,因为它采用的是一位一位的进行传输,但每个字符之间要附加2~3个位,用来作为起始、校验,停止这些位。 各帧与各帧之间因为有了间隔,所以它的传出效率不是很高。
因为我们可以看到这张图,在每一个字符与字符之间,这个间隔时间是不同的。因为有了这个间隔,所以在传输数据的时候,它的效率就不是很高。
2.2同步通信
同步通信:通信双方靠一根时钟线来约定通信速率
同步通信是要建立发送方时钟对接收方时钟直接的控制,从这张图当中我们可以看到,比如说我们这里计算机甲是发送方,计算机乙是接收方,那么发送方的时钟是直接控制接收方的,所以,让我们这双方的时钟完全相同,也就是同步,这就是同步通信。此时,传输数据的位之间的距离是位间隔的整数倍。
同时传输的字符间是不留间隙的,也就保持了这个位同步的关系。
发送方对接收方的同步可以通过两种方式来实现,像这像下面这两张图。

一种是外同步,一种是自同步。
外同步是通过发送方的时钟来控制接收方的时钟,这就可以达到外同步。
然后,自同步的话是通过发送方控制发送的数据和时钟,实现自同步。
通俗来讲,外同步就是时钟线传输时钟信号,数据线传输数据信号。自同步就是一条线上同时传输了时钟和数据信号。
异步和同步的概念,可以说同步就像两人打电话,异步就是发短信。这种同步通信我们用的不是很多,主要是异步通信那一块,像串口通信,它就是异步的通信。
3.按照数据的传输方向,又可以分为单工通信,半双工通信,还有全双工通信。
3.1单工通信
单工通信是指数据传输仅按照方向来进行传输,它不能实现反向的传输。
从这张图当中我们也可以看得到,发送方是按照发送方到接收方的这个数据传输方向,不能实现反方向的传输,所以,它是单工的通信。

3.2半双工通信
半双工的通信是数据传输可以按照两个方向进行传输,一个是发送,一个是接收。但它是需要进行分时才能进行发送和接收,那从这张图我们也可以看到。

假如在时间1这个点是处于发送的状态,就是从发送设备到接收设备传输数据,如果在时间2的时候,要接收数据,那从接收设备来发送数据到我们的发送设备,从而接收。所以,在发送和接收这一块,它的时间点是不一样的,也就进行了分时进行传输。
3.3全双工通信
全双工的通信是指数据可以同时进行两个方向的传输。
比如说我们从这张图当中可以看到,它可以既可以作为发送,又可以作为接收,可以同时进行。

补充:
4.总线
总线就是连接各个设备的数据传输线路(类似于一条马路,把路边各住户连接起来,使住户可以相互交流)
通信速率
下面我们来介绍概念:通信速率。
衡量通信性能的重要指标参数就是这个通信的速率,通常也叫比特率。 比特率是每秒钟传输二进制代码的位数,它的单位是位/秒。 比如说我们每秒钟传输240个字符。按照前面的格式,字符它包含起始位、停止位,然后中间有八个数据位,假如没有校验位的话,那么1字符的一帧数据含有10个位,那比特率是多少?结果是2400bps。

在后面我们还会遇到一个概念,就是波特率。 通常我们接触比较多的是波特率,我们可以把它看成是比特率。
波特率表示每秒钟传输了多少个码元(串口通信的速率(发送和接收各数据位的间隔时间))。而比特率是每秒钟传输二进制代码的位数。 这个码元是通信信号调试的概念,通信中常用的时间间隔相同的符号表示二进制的数字,这样的信号称为码元。
第一种情况:比如常见通信中用0V表示数字0,5V表示数字1,每个码元可以表示两种状态,0和1,所以一个码元也就等于一个二进制的比特位。此时,波特率的大小跟比特率的大小是一致的。
第二种情况:如果在通信传输过程当中,用0V,2V,4V,6V等等来表示二进制的话,那表示0V就是00,2V是01,4V是10,6V是11,每个码元可以表示四种状态,也就是两个二进制的比特位,00 01 10 11,就是用两个比特位来表示一个码元。所以码元是二进制的比特位的一半,这个时候的波特率就是比特率的一半。
我们常见的通信当中,码元是表示两种状态,也就是0和1,跟我们的二进制位是一样的。所以,我们也可以把波特率看成是比特率。在我们常见的通信当中,基本上是这样的,所以我们在通信应用当中,我们通常也叫波特率,很少听到比特率这种叫法。大家要知道它们的区别。
串口通信简介
接下来我们来看一下51单片机的串口的介绍,首先我们来看一下串口通信的简介。
串口通信
是指外设和计算机间通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。
串口
是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信。
单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大的扩展了单片机的应用范围,增强了单片机系统的硬件实力。

51单片机内部自带UART(Universal Asynchronous Receiver Transmitter,通用异步收发器),可实现单片机的串口通信。
串口是一种接口标准。它规定了接口的电器标准,没有规定接口插件的电缆以及使用的协议,它规定的是接口标准,厂家必须按照这个接口标准来做串口的标准接口。
所以,在我们的串口设备当中,通常会见到它的这个接口,比如我们下面这张图当中的DB9或者是DB25的这种标准接口。

不过我们现在应用比较多的是这种DB9的孔。
接口标准和接口种类
接口标准
下面我们来看一下接口标准。
串口通信的结构标准有很多:RS232C、RS232、RS422A、RS485等等,常用的是这种RS232和RS485。
RS232其实就是在RS232C的基础上的改进版本,它的原理是一样的,那所以这里我们就以RS232C这个接口进行讲解。
RS232C是美国电子工业协会在1969年修订的RS232C的标准,定义了数据终端设备与数据通信设备之间的物理接口标准,规定了使用25帧的连接器,我们简称DB25。 连接器的尺寸以及每个插针的排列位置,都有明确的定义,这个就是DB25的接口标准的图。

这个针脚的排序在途中已经标出来了,第一行从左1号开始到13号,第二行从左往右是14~25号。
现在还有一种九针的RS232C非标准连接接口,我们通常也称为DB9。

我们都见到的大多数设备是使用DB9的这种接口,DB25和DB9这种接口的接头有公头和母头之分,其中带针状的是公头,带孔状的这个接头是母头,下面这张图我们可以看到。

公头和母头它的管脚顺序是不一样的,从这张图当中我们可以看得到排序方式正好是相反的。所以,自己在做这个封装图的时候,要注意你的设备是使用公头还是母头。这种接口现在多见于台式电脑。
接口种类
其实现在还有一种常见的接口,叫做VGA接口。VGA接口共有15针,分成3排,每排5个孔,显卡上应用最为广泛的接口类型。VGA接口是传输视频的,英文名叫做Video Graphics Array视频图形阵列。和DB9(用来传输数据的)外观长得有点像,但是完全不同的接口,不要搞混了。

现在笔记本电脑大部分都是USB接口

左边插USB,右边就是串口线路,就可以和单片机连接
我们开发板上的这个位置就是USB和串口之间电平的相互转换,转换之后就可以在电脑上使用串口这样的功能了。

然后电脑端也就是STC那个软件上有一个东西叫串口助手来帮助我们收发数据显示。

常见通信接口
在这里总结一下常见通信接口,相互比较一下:

PS:
UART:通用异步收发器;串口;异步串口。
可挂载多个设备特点的接口都可以称为总线:
IIC一般都读作 I方C总线
SPI总线
1-Wire读作one-wire(单总线)
CAN总线一般应用在汽车领域(把很多连在一起的传感器用CAN总线挂起来,用差分信号传输,传输距离很远,稳定性也很好)同步的通信方式一般都带有一个时钟线SCL/SCLK,异步的通信方式一般都不带时钟线。
下面分别介绍表格中的几种通信接口:
51单片机的UART:
STC89C52有1个UART
STC89C52的UART有四种工作模式:
模式0:同步移位寄存器
模式1:8位UART,波特率可变(常用)
模式2:9位UART,波特率固定
模式3:9位UART,波特率可变

接口上的引脚定义
接口上的脚都有明确的定义,我们来看一下。

下面这张图是RS-232C接口标准的引脚定义。

图中带括号的是DB9的脚位,而没有带括号的是DB25的脚位。 这么多脚是不是所有的脚位都用上了?在串口通信当中,我们通常一般只会用到三个脚,哪三个脚?串行发送和接收肯定是必不可少的,2脚和3脚都会用到,然后还有GND,也就是信号地脚(5脚)。

所以通常我们在串口通信当中应用的比较多的三个脚就是2、3、5,也就是TXD、RXD和GND。
尤其是GND,如果由于在做串口通信的时候,它只顾发送和接收这两个脚位的连接,忽略了GND直接会导致通信两设备之间没有共地,通信可能就会出现错误,所以在串口通信当中一定要记住设备之间要进行共地,也就是要连接这个GND 5脚。
逻辑电平
在RS-232C标准当中,它对逻辑电平也进行了规定。
比如,在TXD和RXD数据线上面,
逻辑1电平范围是-3~15V的电压范围。 逻辑0的话,它是3V到15V的电压。
这个跟我们前面学习单片机的高电平1是5V,0是0V是不一样的。
我们单片机通常是TTL的电平,所以我们在使用51单片机的时候,要将TTL电平跟RS-232的电平进行转换的话,它需要转换的东西,就是MAX232电平转换芯片。
因为我们的串口通信是RS232的电平,而我们单片机的串口电平是TTL的电平,所以通过MAX232这个芯片可以将RS232电平跟TTL的电平进行转换,这样就可以实现通信了。
电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:
TTL电平:+5V表示1,0V表示0(单片机走的电平)
RS232电平:-3~-15V表示1,+3~+15V表示0(比如DB9接口走的电平)
以上两种电平的传输距离也才十多米。
RS485电平:两线压差(两根线之间的电压差)+2~+6V表示1,-2~-6V表示0(差分信号)
RS485电平能传一千米以上。
串口数据收发线:交叉连接
在串口通信当中,我们还要注意的一点是串口数据收发线要进行交叉的连接。 何为交叉连接?
是指在发送方和接收方发送方的TXD(Transmit exchange data)要连接接收方的接收管脚RXD,我发送的数据才能到达接收设备的接收引脚。

同样的,我们发送方的接收引脚要连接接收方的发送引脚。发送数据就直接传到我们的接收设备当中。

这就是交叉的连接。
还有一点就是要注意:两个设备之间要进行共GND。

简单双向串口通信有两根通信线(发送端TXD和接收端RXD)
TXD与RXD要交叉连接
当只需单向的数据传输时,可以直接一根通信线
当电平标准不一致时,需要加电平转换芯片

PS:VCC是供电的(电源的供电电压),如果设备1和设备2都有独立电源的话,可以不接VCC,如果比如说设备2是一个模块的话,它不会独立供电,那么设备1需要向设备2供电,也就是接个VCC。VCC和GND其实就是电源的正负极,通信就是中间两根线。
通信协议
在前面我们介绍了,RS-232C没有规定协议的标准,但是通常我们做串口通信的时候是按照96-N-8-1的格式。
这个96是代表我们的通信波特率是9600BPS,也就是每秒钟传输的二进制的位数9600 bps。因为通常使用的是异步串口通信,也就是说没有时钟线,两个设备要进行通信的话,必须要保持一致的波特率。当然波特率不一定必须要9600,也可以是4800,还可以是115200。当然51单片机它也跑不到这么高,我们是只举例子。比如我们发送方使用的是9600,我们在写程序的时候,接收方的波特率也必须是9600。保持波动率是一致的。
然后这个N代表的是无校验位,由于在串口通信当中,相对更容易受到外部的干扰,导致传输数据出现偏差,可以在传输过程当中加上这个校验位来解决这个问题。
校验方法有奇校验,还有偶校验,以及0校验(也是无校验)。
通常我们在串口通信当中用的比较多的是无校验,也就是N。 然后,
这个8是指传输的数据位,通常是8位,也就是一个字节。在数据格式前面,我们介绍过异步通信有有5位,也有6位、7位,当然我们用的比较多的是8位,也正好对应我们一个字节。
然后这个1代表的是停止位,串口通信的数据包从起始信号开始直到停止信号结束,数据包的起始信号是由逻辑电平0这个数据位表示,数据包停止位信号可以是0.5,1,1.5,2,两个逻辑1的数据位表示只要双方约定一致就可以了。
我们通常使用的是一个停止位,所以,通常的这个协议标准我们是按照这个96-N-8-1的这种格式。其中96,我们通常可以更改它的波动率,后面的几种我们通常是按照N-8-1。
没讲完下一篇继续.....
单片机学习笔记---串口通信(2)-CSDN博客
相关文章:
单片机学习笔记---串口通信(1)
目录 通信的基本概念 通信的方式 1.按照数据传送的方式,可分为串行通信和并行通信。 1.1串行通信 1.2并行通信 2.按照通信的数据同步方式,又可以分为异步通信和同步通信。 2.1 异步通信 2.2同步通信 3.按照数据的传输方向,又可以分为…...
熔断机制解析:如何用Hystrix保障微服务的稳定性
微服务与系统的弹性设计 大家好,我是小黑,在讲Hystrix之前,咱们得先聊聊微服务架构。想象一下,你把一个大型应用拆成一堆小应用,每个都负责一部分功能,这就是微服务。这样做的好处是显而易见的,更新快,容错性强,每个服务可以独立部署,挺美的对吧?但是,问题也随之而…...
第三节 zookeeper基础应用与实战2
目录 1. Watch事件监听 1.1 一次性监听方式:Watcher 1.2 Curator事件监听机制 2. 事务&异步操作演示 2.1 事务演示 2.2 异步操作 3. Zookeeper权限控制 3.1 zk权限控制介绍 3.2 Scheme 权限模式 3.3 ID 授权对象 3.4 Permission权限类型 3.5 在控制台…...
C# Socket通信从入门到精通(21)——Tcp客户端判断与服务器断开连接的三种方法以及C#代码实现
前言 我们开发的tcp客户端程序在连接服务器以后,经常会遇到服务器已经关闭但是作为客户端的我们不知道,这时候应该应该有一个机制我们可以实时监测客户端和服务器已经断开连接,如果已经断开了连接,我们应该及时报警提示用户客户端和服务器已经断开连接,本文介绍三种可以监…...
vulnhub-->hacksudo-Thor靶机详细思路
目录 1. IP探测2.端口服务扫描3.网站漏洞扫描4.目录扫描5.信息分析6.破壳漏洞(Shellshock)nmap---漏洞检测CVE-2014-6271 7.nc反弹8.提权9.service提权 1. IP探测 ┌──(root㉿kali)-[~] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:10:3c:9b, IPv4: 19…...
Java外卖小程序管理系统
技术架构: springboot ssm mysql redis 有需要该项目的小伙伴可以私信我你的Q。 功能描述: 商品管理:新增商品、所有商品 菜单管理:菜单管理、菜单分类 订单管理:订单总览(包括未付款、已付款、已…...
挖掘嵌入式系统在物联网和智能设备中的应用潜力
1. 物联网的发展和嵌入式系统 介绍物联网的定义和特点,以及其在各个领域中的应用。探讨物联网对嵌入式系统的需求,包括低功耗、小型化、实时性等特性,以及对嵌入式系统的数据处理和通信能力的要求。 2. 嵌入式系统在智能设备中的应用 分析…...
用docker 配置scala spark环境
要使用Docker配置Scala和Spark环境,您可以按照以下步骤进行操作。以下是一个基本的示例,您可能需要根据您的具体需求进行调整。 安装Docker: 在您的系统上安装Docker。您可以从Docker官方网站下载并安装适用于您操作系统的版本。 创建Dockerfile: 在您的…...
医疗处方架构设计和实现的实战经验总结
医疗处方是医生开具给患者的药物治疗建议。在现代医疗系统中,设计和实现一个高效而可靠的医疗处方架构至关重要。本文将介绍医疗处方架构的设计原则和关键组件,以及如何实现一个可扩展和安全的处方管理系统。 内容: 1. 引言 - 医疗处方的…...
专业140+总分410+华南理工大学811信号与系统考研经验华工电子信息与通信,真题,大纲,参考书。
23考研已经落幕,我也成功的上岸华工,回首这一年多的历程,也是有一些经验想和大家分享一下。 首先说一下个人情况,本科211,初试成绩400分。专业课140。 整体时间安排 对于考研,很重要的一环就是时间安排&…...
软件测试学习笔记-测试用例的编写
7中测试分类 按照阶段可划分单元测试、集成测试、系统测试、验收测试。代码可见度划分黑盒测试、灰盒测试、白盒测试 单元测试:针对源代码的测试 集成测试:针对接口进行测试 系统测试:针对功能和非功能的测试 验收测试:公测、内测…...
『运维备忘录』之 Kubernetes(K8S) 常用命令速查
一、简介 kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写,是一个开源的,用于管理云平台中多个主机上的容器化的应用。kubernetes是基于容器技术的分布式架构解决方案,具有完备的集群管理能力&a…...
Android SDK 上传 Maven 喂奶级教程
最近领导给安排了个任务,让我把我们现有的一个 SDK 上传到 Maven 上去,方便客户直接用 gradle 依赖,不再需要拷贝 jar 和 so 了,此前我也看过一些相关的文章我想问题也不大,觉得工作量也就一两天的事情,主要…...
R语言绘图教程 | 双侧条形图绘制教程
写在前面 双侧条形图在我们的文章中也是比较常见的,那么这样的图形是如何绘制的呢? 以及它使用的数据类型是什么呢? 这些都是我们在绘制图形前需要掌握的,至少我们知道绘图的数据集如何准备,这样才踏出第一步。 今天的教程,我们会从数据的准备,以及数据如何整理,以及…...
ubuntu篇---ubuntu安装python3.9
ubuntu篇—ubuntu安装python3.9 在ubuntu上安装Python有两种方法:在线安装和源码编译安装。 方法1:使用apt在线安装 1.更新软件包列表并安装必备组件: $ sudo apt update $ sudo apt install software-properties-common2.将Deadsnakes PPA添加到系统…...
git初始化一个远程空仓库
目录 1. 仅做简单初始化2. 推送现有的非仓库文件夹3. 推送现有的仓库 git初始化一个远程空仓库主要有以下三种途径: 仅做简单初始化,例如添加 README.md 和 .gitignore。将现有的文件夹(非仓库)推送到远程仓库。将现有的仓库推送…...
装箱问题+宠物小精灵之收服+数字组合——01背包
一、装箱问题 (裸题) 有一个箱子容量为 V,同时有 n 个物品,每个物品有一个体积(正整数)。 要求 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 输入 第一行是一个整数 V (0 < V ≤ 20000)&…...
记一次页面接口502问题:“502 Bad Gateway”
接收别人的项目进行迭代,项目部署到服务器上之后,有一个接口数据刷不出来,一直502 后来联想到网关的问题,想通过设置白名单的方式解决,设置之后依旧不行。 查看nginx日志发现报错: *169 connect() failed …...
Oracle systemstate、gdb、dbx介绍
当数据库出现严重的性能问题或者hang了的时候, 可能最常用的办法就是重启数据库,简单有效解决问题;但是重启后如何追踪问题的根本原因成了难题,很多信息随着重启也消失不见了,让追查问题变的十分棘手,这时就…...
Stable Diffusion 模型下载:RealCartoon-Anime - V10
文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十下载地址模型介绍 这个检查点是从 RealCartoon3D 检查点分支出来的。它的目标是产生更多的“动漫”风格,因为我喜欢动漫。:)我知道有很多人做得很好(...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...
