接口复习总结

2023-11-04

第一章微型计算机系统概述
1.计算机硬件系统:运算器、控制器、存储器、输入和输出设备
.
2.接口的功能:

  1. I/O端口编址方式:统一编址和独立编址

  2. CPU与接口数据交换技术

无条件方式:控制简单,无需额外的硬件支出;CPU和外设之间只能串行工作,而CPU的速度比外设的速度快很多,CPU将花费大量时间都处于等待、空闲状态,使系统效率大大降低。
查询方式:软件比较简单CPU效率低,数据传送和实时性差,速度较慢
中断方式:外设在需要时(准备好)向CPU提出请求,CPU在去为他服务。服务结束外设不需要时,CPU可以执行自己的程序CPU效率高,实时性好,速度快,程序编制较为复杂
DMA方式:外设直接与存储器进行数据交换,不需要CPU干涉,也不需要软件接入总线由DMAC进行控制CPU要放弃总线控制权,内存和外设地址和读写控制信号均由DMAC提供
5.I/O端口地址分配与地址译码技术

第二章8086处理器
1.8086微处理器,数据线16条,地址线20条
CPU功能包括两部分:执行部件EU:执行和总线接口部件BIU:取指令
EU和BIU形成两级流水线

直接寻址即直接给出内存单元的物理地址/虚拟地址直接寻址
间接寻址是通过寄存器得到要寻址的地址,然后在寻址,而非直接给出地址直接寻址

中断向量的存放方式:低地址的两字节存放中断服务子程序入口地址的偏移地址IP,高地址的两字节存放入口地址的段基址CS。共有256个中断源
注意区分物理地址,段地址,偏移地址及其计算

 地址/数据总线ADl5~AD0 地址/数据复用引脚,双向,它们是分时工作的。
 地址/状态总线A19/S6~A16/S3地址/ 状态总线复用引脚,输出。输出存储器20位地址的高4位,也可以输出CPU的一些工作状态,分时。在总线周期的T1状态用来输出地址的最高位;在总线周期的T2、T3和T4状态,用来输出状态信息。
 S6指示8086当前是否与总线相连,S6=0表示8086与总线相连。
 S5表明中断允许标志的设置。S5=0表示CPU禁止可屏蔽中断的请求;S5=l表示CPU允许可屏蔽中断的申请。
 S4和S3组合起来指出当前正在使用哪个段寄存器。

 NMI(17脚):非屏蔽中断请求信号,输入,上升沿有效。
 RESET(21脚):复位信号,输入,高电平有效。RESET信号至少要保持4个时钟周期。CPU将停止操作,并将标志寄存器、IP、DS、SS、ES及指令队列清零,将CS设置为FFFFH。当复位信号为低电平时,CPU从FFFF0H开始执行程序。
 CLK(19脚):主时钟,输入。8086要求时钟的占空比为33%。时钟频率要求为5MHz。
 VCC(40脚):电源输入引脚。8086 CPU采用单一+5V电源供电。
GND(1、20脚):接地引脚。
 MN/MX(33脚):最小/最大模式输入信号。高电平最小模式;低电平最大模式。
 M/IO(28脚):存储器或I/O端口访问信号。 M/IO =1时,正在访问存储器; M/IO =0时,表示CPU当前正在访问I/O端口。
 WR(29脚):写信号,三态输出。WR=0时,表示当前CPU正在对存储器或I/O端口进行写操作。
 INTA(24脚):可屏蔽中断响应信号,输出。为低电平时,表示CPU已经响应外设的中断请求,即将执行中断服务程序。
 ALE(25脚):地址锁存允许信号,输出。用来做地址锁存器的片选,使由AD15~AD0分时发出的地址信息和数据信息分开。
 HOLD(30)、HLDA(31):总线保持请求、保持响应。DMA用。
锁存器和缓冲器的作用
锁存器就是把当前的状态锁存起来,使CPU送出的数据在接口电路的输出端保持一段时间锁存后状态不再发生变化,直到解除锁定。
缓冲寄存器又称缓冲器,它分输入缓冲器和输出缓冲器两种。输入缓冲器的作用是将外设送来的数据暂时存放,以便处理器将它取走;输出缓冲器的作用是用来暂时存放处理器送往外设的数据。有了数控缓冲器,就可以使高速工作的CPU与慢速工作的外设起协调和缓冲作用,实现数据传送的同步。
CPU输入输出指令

第三章 可编程并行接口8255A
1.并行通信:用多跟线并行传输多位二进制数据,同时传输一个或多个字节。速度快,成本高,距离短。
2.并行接口:能并行传送数据的接口电路,指的是并行接口和外围设备之间的传送是并行的,而不是和CPU之间的数据传送。

控制口只能写不能读
3.8255A通过设置控制字来决定它的工作方式,控制字分为方式选择控制字和C端口按位置1/置 0控制字

注意两种都是往控制端口写数据,区别在于最高位的标识位不同,方式选择控制字是1,端口C标识符是0
选择8255A的工作方式

对端口C某一位置1/0

4.8255A的工作方式(针对A组和B组)重点要记住
方式0方式1是单向的,方式2是双向数据传输。

(1)方式0:简单I/O查询方式,端口ABC都可使用。基本输入输出方式—适用于无条件传送和查询方式的接口电路
方式0的工作特点:1.不需要应答联络信号;2.端口A、端口B和端口C的高4位及低4位都可以作为输入、输出端口;3.用于无条件传送或查询传送
(2)方式1:选通I/O中断方式,端口AB可使用。选通输入输出方式—适用于查询和中断方式的接口电路
特点:和方式0相比,需要联络信号。A和B口可用方式1,但要利用C口提供联络和应答信号,且这些信号与C中的数位之间关系固定。同时还具有中断请求和屏蔽功能.
(3)方式2:双向I/O中断方式,端口A可使用。双向选通传送方式—适用于与双向传送数据的外设;适用于查询和中断方式的接口电路.
特点:1.方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送和接收数据;2.只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同;3.方式2的数据输入过程与方式1的输入方式一样;4.输出方式略有不同(8255A不是在OBF有效时向外设输出,而是在外设提供响应信号ACK时才送出数据)。
方式一单向选通,A口和B口只能输入或者输出。方式二双向选通,只有端口A可以工作在方式二下,既可以输入又可以输出
第三章 中断系统和中断控制器8259A
1.中断源

2.中断屏蔽

3.中断处理过程
一个中断处理过程包含:中断请求,中断排队,中断响应,中断服务,中断返回
1.中断请求
 当中断源需要CPU为其服务时,提出中断请求;
 外部可屏蔽中断源提出中断请求受中断屏蔽控制。
2.中断排队
 确定当前有中断要求(包括正在处理的中断)且优先级别最高的中断源;
 优先权级别高的中断源首先得到响应。
3.中断响应
定要响应的中断源后,CPU转去对应中断服务程序入口的过程称为中断响应。
 CPU的当前指令结束后才可以响应中断请求;
 中断响应过程CPU自动完成:
• 保护状态标志寄存器PSW;
• 保护断点:将指令地址CS、IP (断点)推入堆栈;
• 形成中断服务程序入口地址:小系统可采用固定入口地址方法;中断源较多时通常采用向量表方法。8086 CPU采用向量表方法。
• 接口电路收到CPU的INTA*信号后设置自己的寄存器。
4.中断服务和中断返回(中断服务程序)
 CPU执行中断服务程序,程序须事先编制;
 (自动关中断,PSW)。
 保护现场:将相关寄存器内容送入堆栈(不可打断);
 开中断:CPU响应中断时,自动关闭中断允许触发器。要实现中断嵌套,必须在中断服务程序中开中断;(可略)
 中断处理:对中断源做相应处理,中断的根本目的;
 关中断:若中断服务程序中开了中断,此时应关中断,使下一步恢复现场不被打断;(可略)
 恢复现场:将送入堆栈的寄存器内容依次恢复(不可打断);
 开中断:使返回后可接受其他中断;
 中断返回时从堆栈弹出断点和标志,然后返回到被中断的程序继续运行。
5.中断种类

除单步中断外,所有内部中断均不能屏蔽

6.中断类型码和中断向量表

7.8086CPU中断处理过程

8.中断类型码获取
内部除了INT n指令的中断和外部不可屏蔽中断由CPU硬件逻辑电路自动提供中断类型码
INT n指令第二字节位中断类型码,软件中断
外部可屏蔽中断由外部硬件电路通过数据线向CPU提供中断类型码,如8259A
9.中断控制器8259A功能

  1. 8259A芯片结构

INT连接CPU的INTR引脚,用来发出中断申请,INTA*中断响应信号,CPU同意中断申请后,发出应答

中断请求寄存器IRR:8位,用于锁存中断请求信号。当相应的引脚有中断请求时,寄存器对应位置置1
中断屏蔽寄存器IMR:8位,存放被屏蔽的中断
中断服务寄存器ISR:8位,记录已响应的中断
优先权判别电路PR:当多个中断信号通过IMR允许同时进入PR时,选取最高优先级中断请求,并将ISR相应位置置1,出现多重中断时,PR首先比较ISR中正在服务的中断与ISR中断比较优先级。从中是否决定发出更高优先级中断请求。

11.8259A工作流程:
1个或同时多个外部中断请求送至8259A引脚;IRR接收中断请求并锁存,将相应位置1;根据IMR的屏蔽情况决定是否允许中断请求进入PR;PR判别当前优先权最高的中断请求(允许嵌套时还要参考ISR的状态),根据判优结果决定发送INTR信号或等待;若CPU标志寄存器psw中IF=1,发第一个INTA信号,8259A使ISR相应位置位,同时将IRR相应位清0以避免重发请求;然后CPU发送第二个INTA后8259送出中断类型码;若为AEOI方式(自动结束),直接清除ISR相应位;否则需要在中断服务结束时,由CPU送出普通或特殊中断结束命令EOI,清除ISR相应位,标志一个中断结束。

12.8259A工作方式
中断请求触发方式,电平触发:中断请求线上出现高电平为有效请求信号,要求触发高电平持续至CPU中断响应总线周期中第一个INTA*脉冲,边沿触发:中断请求线上出现上升沿为中断请求信号,触发后一直保持高电平也不会重复触发。

屏蔽中断源方式,清除IF指令(CLI)可使CPU屏蔽所有可屏蔽中断,但无法选择性屏蔽。8259A可选择性屏蔽。普通屏蔽方式:将中断屏蔽寄存器IMR的某些位置1,选择性屏蔽对应的中断;特殊屏蔽方式:有时希望一个中断服务程序内可动态改变优先权结构:中断服务程序的一部分希望禁止中断,而到另一部分时又能够开放中断。可用特殊屏蔽解决该问题,CPU只对本级中断屏蔽,允许级别比它高或比它低的中断源申请中断。

中断优先权的四种方式
普通全嵌套:IR0优先权最高,IR7优先权最低,固定优先权
特殊全嵌套:级别与普通全嵌套一样,允许同级中断嵌套
优先权自动循环:优先权顺序变化,一个中断服务结束后,优先级自动降为最低,下一级升为最高
优先权特殊循环:与优先权自动循环类似,初始最低优先级由命令字确定

中断结束(EOI)三种方式

级联方式

13.8259A的编程
初始化命令字ICW1-4,操作命令字OCW1-3,ICW设定后保持不变,OCW可以动态改变8259A的操作方式
8259A占用两个I/O端口地址,通过A0引脚区分,低的地址为偶地址,高的地址为奇地址。

操作命令字OCW1-3,操作命令字OCW的使用没有顺序要求

第五章 可编程定时/计数器8253
1.定时/计数器的主要用途:
① 分时操作系统,以便切换线程。
② 统计外部事件发生的次数。
③ 检测外部事件发生的频率或周期。
④ 在定时或计数达到预定值后,向CPU申请中断。
⑤ 向I/O设备周期性输出精确的定时信号。
⑥ 用作可编程波特率或速率发生器。

2.定时与计数的三种方式
软件定时:改变指令执行的循环次数,需要占用CPU,降低了CPU的利用率
硬件定时:555电路,阻容控制不受软件控制,无法修改,精度欠佳
通用可编程接口芯片定时(8253):通用性强,有3个独立的16位减1计数器,每个计数器有6种工作方式,能进行二进制或十进制计数或定时操作,计数速率可达2MHz,所有的输入/输出都与TTL电平兼容。计数范围0—65535或0000H—FFFFH

3.8253定时计数器的引脚

A0,A1 地址线,对8253的四个端口读写(三个技术/定时口,一个控制口)
CLK0-CLK2:时钟/脉冲输入端
OUT0-OUT2:定时/技术到,输出相应的电平
GATE0-GATE2:门控信号,用于启动/停止定时或计数工作的控制,该信号有效时定时/计数器才开始工作

4.8253定时计数器内部结构

  1. 数据总线缓冲器:暂时存放数据,存放的数据有:初始化编程时向8253写入的控制字,向某一通道写入的计数值/读取的计数值

  2. 读/写控制逻辑:/RD、/WR、/CS 、A0、A1组合产生对某一端口的操作,决定哪个计数器和控制字寄存器工作,并控制数据传送的方向。

  3. 控制字寄存器,决定每个通道的工作方式,只能写,不能读

  4. 三个计数/定时器
    计数/定时器在CLK脉冲下降沿从预置的初值开始减1计数,减到零时从 OUT端送出一个信号。计数器在开始和计数过程中都受GATE的控制:
    GATE=1,可以计数
    GATE=0,停止计数。

  5. 8253的寻址及连接

注意:控制寄存器只能写,不能读
5.8253的控制字

6.8253初始化编程要求

7.8253的工作方式
写入初始值后,在下一个时钟周期开始计数,CLK脉冲下降沿从预置的初值开始减1计数先减一再检查是否为0,0000H代表最大值65536,10000
GATE:计数允许,OUT计数输出

特点①: 计数器只计一遍数。当计数到0时,并不恢复计数初值, OUT由低变高且一直保持。
特点②:计数过程中可改变计数值。写入后计数器按新的计数值重新开始计数。
特点③ :在计数过程中,可由门控信号GATE控制暂停。当GATE=0时, 计数器暂停计数;当GATE变为1后,就接着计数。
特点④:方式0的OUT信号在计数到0时由低变高,若作为中断请求信号,需连接8259中断控制器。

特点①:计数器可再次由GATE启动,而不需要再次送一个初值。
特点②:计数过程中改变计数初值不影响本次计数过程。GATE再次触发,计数器才按新的初值计数。
方式0与方式1的不同之处:

这些不同本质上由计数初值存储在哪里和何时重装入决定。

特点①:不用重新设置计数初值,计数到0后自动装入初值,计数器能够连续工作, 输出固定频率的脉冲。
特点②:计数过程可由门控信号GATE控制。当GATE为0时, 暂停计数。当GATE变为1后,下一个CLK脉冲使计数器恢复初值,重新开始计数。
特点③:在计数过程中可以改变计数初值,对方式2改变计数初值时,在下一次计数有效。

特点① :当初值N为偶数时,高低电平持续时间相等;N为奇数时,高电平多一个脉冲周期,即高电平(N+1)/2个周期,低电平(N-1)/2个周期。
特点② :GATE=1,允许计数;GATE=0,停止计数。当GATE变高以后,在下一个CLK脉冲来到时,计数器重新装入初始值,开始计数。

特点:在计数过程中若改变计数初值则按新的计数初值开始计数。这称为软件再触发。

特点①:方式4软件更改计数初值后立即起作用,方式5软件更改计数初值后要有门控信号的触发才能起作用。
特点②:在计数过程中,若GATE端又出现一个脉冲进行触发,则使计数器重新开始计数,但对输出状态没有影响。
工作方式的比较

8.8253的读写操作

注意: 读计数器的值时,要先锁存,再读入。控制字的D7D6两位为所要锁存的计数器号, D5D4两位置为00,其它位不用考虑。

100H如果是16进制,它就代表十进制的 256。
100H如果是BCD码,它就代表十进制的 100。
十进制数100的BCD码,就是100H,写成0100H也可以,但一定要有H。

第六章 串行通信及可编程串行接口8251
1.串行通信与并行通信概念和区别
并行通信:有多条数据线,每次可同时传送多个位的数据,速度相对高,适宜于近距离
串行通信:只有一条数据线,每个时刻只传送一个位。节省传送线,速度相对低,适宜远距离

2.数据的传送方式-单工与双工对比

3.串行通信中的异步传送与同步传送
需要解决速率的约定(收发双方的波特率要相等)和起始的判定
波特率解决频率问题,同步和异步解决收发双方起始帧
3.1异步传送

先传低位后传高位,一般按一个字节来传,校验位(奇偶校验)或者不需要校验,通常选择1个停止位,一定是1。异步方式用的最多。波特率:每秒种传送的二进制位数。需要会计算波特率,格式要特别清楚。
3.2同步传送

去除起始位和停止位减小开销,以数据块形式传送,同步字符(7E)
同步传送难度比异步方式难很多

3.3 信号的调制与解调

为增大传送距离,可以在串行接口电路与外部设备之间增加信号转换电路,如RS-232收发器,RS-485收发器和Modem。

4.82451A

C/D/-输入,低电平表示传送的是数据,高电平表示传送的是写控制字或读状态信息。连接CPU地址线A0
发送器T,接收器R
发送器的数据来源于CPU,CPU把数据写到发送缓冲器中,实现将并行到串行的转换(一位一位的发送),TxD发送的数据。
接收器数据来源于外设,实现串行将并行的转换,并且存在接受缓冲器中。RxD接收的数据。
调制/解调功能:实现长距离传输

TxRDY连接CPU,当发送寄存器空时表示CPU可以给我发数据,可以作为中断源
TxE表示并-串转换器空,表示所有数据已经发完了

RxRDY连接CPU表示接收缓冲器接收了一个字符,CPU可以取走,可作为中断源

RESET后8251等待控制字
调制解调器—远距离传输,要把传送的数据传送给调制解调器MODENM(双工的)

/RTS与调制解调器相连,通知调制解调器,CPU准备发送数据
/CTS与调制解调器相连,调制解调器对/RTS的响应

RxC与TxC用于控制波特率,8251内部对其进行分频产生波特率
波特率*64=RxC

5.8251A的控制字寄存器和状态字寄存器

6.8251A初始化编程

注意送同步字符时地址为数据端口C/D/=0
第七章 DMA控制器8237

  1. DMA应用的场景
    外设与内存间数据传送三种方式:查询、中断、DMA,查询、中断方式:修改地址判断结束由软件完成。查询方式效率低,速度慢,中断方式过于复杂,DMA地址修改和判断结束由硬件完成,DMA方式适用于:高速、大批量数据传送。如磁盘存取、高速数据采集。不适用于:小系统、速度要求不高、数据量不大的系统。以增加硬件的复杂性为代价,DMA传送时CPU挂起,可能影响中断响应与处理。
  2. DMA控制器工作流程
    DMA:直接存储器存取,CPU只启动DMA,但不干预传输过程,传输过程由硬件自动完成,不需要软件介入。DMA控制器可以实现外设和内存,内存和内存的数据传输。少数控制器也可外设间传输。
    1.申请阶段:外设向DMAC发出DMA请求信号DREQ(DMA Request),DMAC向CPU发总线请求信号HRQ(Hold Request)。
    2.响应阶段:CPU向DMA发总线保持回答信号HLDA,CPU让出总线, DMAC为主控者。
    3.数据传输阶段:DMAC向外设发DMA请求回答信号DACK,选中外设。并通过AB选中内存单元。通过DB将数据从源端传送到目的端。
    4.传送结束阶段:数据传送完毕,DMAC向外设传送“过程结束”信号EOP。DMAC向CPU交回总线,CPU重新获得总线的控制权。

3.8237A的主要特点

注意:DMA禁止嵌套,优先级排队只在DMA响应前有效,DMA响应后不能中断当前传输。

数据存储到哪里?
基地址寄存器:初始化编程时写入,DMA操作期间不变化。
当前地址寄存器:指出当前正在访问的存储器地址,在DMA操作期间通过加1或减1不断修改。开始传输时当前地址和基地址相同

需要传输多少字节?
基字节计数器:指出要传送多少个字节,初始化编程时写入,DMA操作期间不变化。
当前字节寄存器:指出当前传送了多少字节,在DMA操作期间通过加1或减1不断修改。开始传输时当前字节和基字节相同

比较重要的引脚:

4.8237工作方式

程序:初始地址,字数
主清->地址-
第八章 DAC0832和ADC0809
典型应用:
1.D/A与A/D转换的概念

DAC0832结构与引脚(数模转换器)

2.0832工作模式

第二级,多个0832可以异步输入,然后同步转化完成
逐次逼近的原理
三行代码就可以完成转换
第十章 存储器与存储扩展
1.存储系统

存储器容量扩展
计算机的存储系统如何构成,有什么样的特点
总线的概念,哪些总线,总线宽度决定容量

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

接口复习总结 的相关文章

  • 创建分支报错 Not a valid object name: ‘master‘.

    原因 库是空的 还没有真实master分支 要创建一个文件 然后commit之后才会真正建立master分支 此时才可以建立其它分支 解决步骤 touch README md git add README md git commit m f
  • R语言设置或查询图形参数par函数

    par可用于设置或查询图形参数 图形参数非常 大多数可以在作图函数中设置 本文列举最常见的应用 1 设置图像布局 1 设置图像布局 par mfcol c 1 2 c nr nc 一行两列 par mfrow c 2 1 两行行一列 2 图
  • 达观数据研发“曹植”大语言模型,致力于国产GPT模型

    在通用领域 以ChatGPT为代表的生成式大规模语言模型展现出卓越的知识学习和文字创作能力 受到国内外的广泛关注 垂直领域的GPT大模型同样拥有广阔的应用前景 达观基于多年文本智能技术积累和垂直领域场景业务经验 正在积极探索大语言模型LLM
  • redhat linux7版本重置密码教程

    对于redhat linux7版本的初学者来说 重置密码是必然会提到的 重置密码不仅可以解决你忘记密码的烦恼 更重要的是在rhce的考试的时候派上用场 因为考试的系统密码是靠你自己重置的 操作环境 VMware pro redhat lin

随机推荐

  • 修改Mysql数据库的用户名

    修改数据库用户名 首先安装过MySQL后 点击windows 找到MySQL 5 7 Command Line Client 点击运行 然后输入密码进入数据库 登录数据库后 然后输入一条下面的语句 select user from mysq
  • 编写ros2与webots进行联合仿真的代码,用Python写

    在写ROS2与Webots的联合仿真代码时 您可以使用Python作为编程语言 下面是一些提示 以帮助您开始编写代码 安装ROS2和Webots 您需要安装ROS2和Webots 并确保它们能够正常运行 创建ROS2工作空间 使用ROS2
  • L - Candy Machine

    SDUT 2022 Spring Team Contest for 21 12 Virtual Judge JB loves candy very much One day he finds a candy machine with NN
  • SQLException之驱动版本不匹配

    java sql SQLException Unknown initial character set index 255 received from server Initial client character set can be f
  • docker安装fastdfs

    一 准备docker环境 二 搜索fastdfs镜像 三 拉取镜像 docker pull delron fastdfs 选取delron fastdfs镜像的原因是包含了nginx不用自己安装nginx转发 也可以选择qbanxiaoli
  • c++ this指针

    this指针是c 中的一个关键字 它在类中被自动隐藏了起来 this指针指向当前对象并且只能用在类的内部使用 通过this指针我们可以访问类中的所有成员 public protect private class A public void
  • IDEA过期重置

    过期重置 https blog csdn net zzztimes article details 117550423
  • win10电脑发现不了华为share_huaweishare打开 电脑找不到手机

    本帖最后由 lang dine 于 2020 1 26 22 37 编辑 我的笔记本不是华为笔记本其他的网络设备都能搜索到 唯独huawei手机搜索不到 无法被搜到应该是huawei share的问题 这个问题还能顺延出两个故障 win10
  • 方波参考测试信号PI控制调试

    要调试方波参考测试信号的PI控制 可以按照以下步骤进行操作 确保系统已经正确连接 并且您已经设置了方波参考测试信号的频率和幅值 配置PI控制器 根据您的控制系统要求 选择适当的PI控制器参数 例如比例增益 Kp 和积分时间 Ki 这些参数可
  • c++虚函数和纯虚函数的区别

    关于虚函数的定义是 被virtual关键字修饰的成员函数 关于纯虚函数的定义是 是一种特殊的虚函数 在许多情况下 在基类中不能对虚函数给出有意义的实现 把它声明为纯虚函数 它的实现留给该基类的派生类去做 这是是纯虚函数 虚函数的简单实例 定
  • Android9以后遇到的一些问题

    Android9以后不能使用外存 我遇到这个问题的时候没报错 但就是无法成功创建文件 报了找不到文件异常才发现问题 application的属性中添加一条属性 请求使用遗留外存 android requestLegacyExternalSt
  • pm ux ui_ui与ux回顾2020年前端设计方面与重要性之间的差异

    pm ux ui Why Because people use the terms UI and UX so interchangeably that I believe it is about time someone talks abo
  • 【C++】 函数返回vector

    当程序中要返回vector时 一般做法会将函数直接定义为 vector
  • Qt tabwidget中插入widget

    一 简单介绍 QT gt tabWidget 标签页面 在ui中通过工具栏自定义拉取控件 其中tabwidget可以可以创建多个标签页面 默认生成两个tab widget tab 1 tab 2 并且可以在ui中右键自由添加控制删除等标签页
  • 头歌python实训通关四——分支结构

    第1关 英制单位英寸与公制单位厘米互换 任务描述 本关任务 编写一个能实现单位英寸与公制单位厘米的互换的函数 相关知识 为了完成本关任务 你需要掌握 1 if条件语句 编程要求 根据提示 在右侧编辑器补充代码 实现单位英寸与公制单位厘米互换
  • 关于 private static final long serialVersionUID = 1L

    实现java io Serializable这个接口是为序列化 serialVersionUID 用来表明实现序列化类的不同版本间的兼容性 如果你修改了此类 要修改此值 否则以前用老版本的类序列化的类恢复时会出错 实现后如果你用的是工具的话
  • Java内省机制

    Wiki上的解释 在计算机科学中 内省是指计算机程序在运行时 Run time 检查对象 Object 类型的一种能力 通常也可以称作运行时类型检查 不应该将内省和反射混淆 相对于内省 反射更进一步 是指计算机程序在运行时 Run time
  • Log4Net(Logging for DotNet)学习笔记

    系统支持 SystemFramework 提供系统的框架支持 典型的 如异常 日志等 也有现成的 比如log4net 突然一种老朋友似的感觉涌上心头 这不是我一直想要得到的吗 一直想在的我系统加入的东西吗 日志系统 嘿嘿 高兴啊 本文从一个
  • 开源数据库对比 H2, HSQLDB, DERBY, PostgreSQL, MySQL

    H2 HSQLDB DERBY PostgreSQL MySQL
  • 接口复习总结

    第一章微型计算机系统概述 1 计算机硬件系统 运算器 控制器 存储器 输入和输出设备 2 接口的功能 I O端口编址方式 统一编址和独立编址 CPU与接口数据交换技术 无条件方式 控制简单 无需额外的硬件支出 CPU和外设之间只能串行工作