单片机学习问题集

 

 

单片机编程

  1. 单片机的最小系统?内部的主要结构?网络

    答:最小系统:电源、晶振(为系统提供基本的时钟信号)、复位电路;内部结构:ROM/RAM、计时器、中断、I/O串并行口、总线扩展控制。数据结构

  2. RAMROM的区别?函数

    答:ROM(只读存储器):它的信息一次写入后只能被读出,而不能被操做者修改或者删除。通常用于存放固定的程序或数据表格。可是,“只读”这个概念有时候能够被一些新特性的器件颠覆。oop

    RAM(随机存储器):它就是咱们平时说的内存,主要用来存放各类现场的输入/输出数据、中间计算结果,以及与外部存储器交换信息,或者做堆栈(特色:先进后出,后进先出)用。它的存储单元根据具体须要能够读出或者改写。学习

    二者区别:RAM只能用于暂时存放程序与数据。一旦电源关闭或发生断电,RAM中的数据就会丢失。而ROM中的数据在电源关闭或者断电后仍然会保留下来。ui

    简而言之:相同点它们都是用来存储数据的spa

              不一样点存储数据的方式与数据能不能在二次加工不一样操作系统

  3. 单片机I/O口有什么做用?I/0口的驱动能力?上拉电阻与下拉电阻的做用?设计

    答:I/O口最主要的功能用来与外部器件实现数据信息的交互、速度匹配、数据传送方式和加强单片机的负载能力。它在二者之间扮演桥梁的做用,单片机拥有着串行与并行接口。每一个种类的单片机的不一样并行口也有着各自不一样的功能。

    单片机输出低电平时,将容许外部器件,向单片机引脚内灌入电流,这个电流,称为“灌电流”,外部电路称为“灌电流负载”。

        单片机输出高电平时,则容许外部器件,从单片机的引脚拉出电流,这个电流,称为“拉电流”,外部电路称为“拉电流负载”。

    单片机输出驱动能力的问题:每一个单个的引脚,输出低电平的时候,容许外部电路,向引脚灌入的最大电流为 10 mA;每一个 8 位的接口(P一、P2 以及 P3),容许向引脚灌入的总电流最大为 15 mA,而 P0 的能力强一些,容许向引脚灌入的最大总电流为26 mA;所有的四个接口所容许的灌电流之和,最大为 71 mA。而当这些引脚“输出高电平”的时候,单片机的“拉电流”能力呢?能够说是太差了,居然不到 1 mA。

    结论就是:单片机输出低电平的时候,驱动能力尚可,而输出高电平的时候,就没有输出电流的能力。

    综上所述:灌电流负载,是合理的;而“拉电流负载”和“上拉电阻”会产生很大的无效电流,而且功耗大。

    设计单片机的负载电路,应该采用“灌电流负载”的电路形式,以免无谓的电流消耗。

    在数字电路中,只有二种状态,要么是高电平,要么是低电平,在通电初期,这些输出状态是不肯定的,为了使电路肯定状态,必需使用上拉电阻或下拉电阻,使一个原来不肯定电平变高的叫上拉电阻,不然就是下拉电阻,上拉电阻就是从电源上接一只电阻到这个状态口上就能够了,(就是把高的电压加到这个点上去,这个点的电位就高了)下拉电阻的接法,从这个状态口接一只电阻到负极(或数字接地),因电路形式与类别不一样,当输入端有信号,这种变化会反应到输出口,从输出口获得了一个状态,原本应该完成任务了,但这会儿输入口已没信号了,可输出端仍是这个状态(这我的习惯很差,开门后老是不关门,加一只弹簧,(电阻)让它本身关门,)这时候也要用到上下拉电阻,这里有复位的做用。

  4. 常见的时钟电路有哪些?为何要使用PLL?

答:先了解一下什么是时钟电路?

时钟电路就是产生像时钟同样准确运动的振荡电路,任何工做都按时间顺序。用于产生这个时间的电路就是时钟电路。

   组成:晶体振荡器、晶震控制芯片和电容组成。

如今流行的串行时钟电路有:DS1302DS1307PCF8485

它们的特色:接口简单、价格低廉、使用方便。

DS1302:具备涓细电流充电能力的电路,主要特色:采用串行数据传输,可为掉电保护电源提供可编程的充电功能,而且能够关闭充电功能。采用普通32.768KHz晶振。

PLLPhaseLocked Loop:锁相环电路。用来统一整合时脉讯号,使高频器件正常工做。如:内存的存取资料等。PLL用于振荡器中的反馈技术。许多电子设备要正常工做,一般须要外部的输入信号与内部的振荡信号同步。通常的晶振因为工艺与成本缘由,作不到很高的频率,而在须要高频应用时,有相应的器件VCO,实现转成高频,但不稳定,故利用锁相环路就能够实现稳定且高频的时脉冲讯号。

什么是时脉:指同步电路中时钟的基础频率,它以(若千次周期每秒)来度量,单位是(Hz

总之:PLL能够同步频率,相位正交。倍频、变频。

  1. 单片机的寻址方式有哪些?

    答:80C51有七种寻址方式:

1、当即寻址,寻址空间为ROM

2、直接寻址,寻址空间为片内RAM的低128B和特殊功能寄存器;

3、寄存器寻址,寻址空间为ABDPTRCY、通用工做寄存器等;

4、寄存器间接寻址,片内RAM128B、片外RAM

5、相对寻址,寻址空间为ROM

6、变址寻址,寻址空间为ROM

7、位寻址,寻址空间为片内RAM128B的位寻址区的128个位,其字节地址为20H~2FH;以及部分能够位寻址的特殊功能寄存器。

 

参考AT89C51单片机能直接认识和执行的机器指令有255条,有7种寻址方式,即当即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。

 

1. 直接寻址:

指令中直接给出参与操做的数据的地址,该地址通常用direct表示。

汇编指令:MOV A,direct

该指令的功能是将片内RAM地址direct单元中的内容(参与操做的数据)传送到累加器A中,双字节指令。

 

2. 当即寻址:

指令中直接给出参与操做的数据,称当即数,用data表示。在汇编语言中,为标明当即数,为data加前缀”#”。当即数能够是8位和16位二进制数,分别用#data#data16表示。

汇编语言指令:MOV A,#data

该指令将当即数data传送到累加器A中,双字节指令。

 

3. 寄存器寻址:

参与操做的数据存放在寄存器中,汇编指令中直接以寄存器名来表示参与操做的数据地址,寄存器包括工做寄存器R0R7、累加器AAB、数据指针DPTR和位运算寄存器C

汇编语言指令:MOV A,Rn ;n=0~7

该指令将Rn中的内容传送到累加器A中,单字节指令。

 

4. 寄存器间接寻址:

寄存器间接寻址为二次寻址,第一次寻址获得寄存器的内容为(Ri)(DPTR),第二次寻址是将第一次寻址获得的寄存器内容做为地址,并在其中存、取参与操做的数据。汇编语言中,寄存器前缀@是寄存器间接寻址的标志,有@Ri@DPTR等。

汇编语言指令:MOV A,@Ri ;i=01

该指令是将Ri中的内容做为地址,再将该地址中的内容传送到累加器A中,单字节指令。

 

5. 变址寻址:

间接寻址由两个寄存器提供。若由APC提供,在汇编语言指令中寻址地址表示为@A+PC;若由ADPTR提供,在汇编语言指令中寻址地址为@A+DPTR。其中,PCDPTR被称为基址寄存器,A被称为变址寄存器,基址与变址相加为16位无符号加法。若变址寄存器A中内容加基址寄存器DPTR(PC)中内容时,低8位有进位,则该进位直接加到高位,不影响进位标志。因变址寻址指令多用于查表,故常称为查表指令。

汇编语言指令:MOVC A,@A+DPTR

该指令将DPTR中的内容加上A中的内容做为地址,再将该地址中的内容传送到累加器A中,单字节指令。

 

6. 相对寻址:

相对寻址是以相对寻址指令的下一条指令的程序计数器PC的内容为基值,加上指令机器代码中的“相对地址”,造成新的PC值(要转移的指令地址)的寻址方式。指令机器代码中“相对地址”指的是用一个带符号的8位二进制补码表示的偏移字节数,其取值范围为-128+127,负数表示向后转移,正数表示向前转移。

(PC)表示该指令在ROM中的首地址,该指令字节数为2,执行时分两步操做:(PC)(PC)+2(PC)(PC)+相对地址。第一步完成后,PC中的值为该指令的下一条指令的首地址;第二步完成后,PC中的内容(PC)为转移的目标地址。因此,转移的目标地址范围是该相对寻址指令的下一条指令首址加上-128~—+127字节的地址。

汇编语言指令:SJMP rel

汇编语言相对寻址指令中的”rel”每每是一个标号地址,表示ROM中某转移目标地址。汇编软件对该汇编语言指令进行汇编时,自动算出“相对地址”并填入机器代码中,应将”rel”理解为“带有相对意义的转移目标地址”。

Rel=(PC)+相对寻址指令字节数+相对地址

其中,(PC)为该指令所在ROM中的首地址。

 

7. 位寻址:

参与操做的数据为“位”,而不是字节,是对片内数据存储器RAMSFR中可位寻址单元的位进行操做的寻址方式。

汇编语言指令:ANL C,bit

该指令将bit(位地址)中的内容(01)与C中的内容进行与操做,再将结果传送到PSW中的进位标志C中。

  1. 什么是时钟周期?机器周期?指令周期?它们之间的关系?

    答:一、时钟周期又叫作振荡周期;单片机内部时钟电路产生(或外部时钟电路送入)的信号周期,单片机的时序信号是以时钟周期信号为基础而造成的,在它的基础上造成了机器周期、指令周期和各类时序信号。定义为时钟脉冲的倒数(能够这样理解:时钟周期就是单片机外接晶振的倒数,例如:12M的晶振,它的时钟周期就是1/12us),是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动做。

    2、计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每个阶段完成一项工做。例如:取指令、存储器读、存储器写等,这每一项工做称为一个基本操做。完成一项基本操做所须要的时间成为机器周期。通常状况,一个机器周期由若干个S周期(状态周期)组成。机器周期是单片机的基本操做周期,每一个机器周期包含S一、S二、……S6这6个状态,每一个状态包含两拍P1和P2,每一个拍为一个时钟周期(振荡周期)。所以,一个机器周期包含12个时钟周期。依次可表示为S1P一、S1P二、S2P一、S2P2……、S6P一、S6P2。

    3指令周期:计算机从取一条指令开始,到执行完该指令所须要的时间称为指令周期。不一样的指令,指令长度不一样,指令周期也不同。但指令周期以机器周期为单位,指令不一样,所需的机器指令也不一样。

    51单片机指令根据指令长度与执行周期分为:

    1 单字节单周期指令

    2 单字节双周期指令

    3 双字节单周期指令

    4 双字节双周期指令

    5 三字节双周期指令

    6 一字节四周期指令

    总结:时钟周期是最小单位,机器周期须要1个或者多个时钟周期,指令周期须要1个或者多个机器周期;机器周期是指完成一个基本操做的时间。指令周期是CPU的关键指标,指取出并执行一条指令的时间。通常以机器周期为单位,分单指令执行周期、双指令执行周期等。机器周期是完成一个基本操做的时间单元。时钟周期是CPU的晶振的工做频率的倒数。

  2. 单片机有哪些接口,各模块有哪些特性及应用环境?

    答:接口电路——用于衔接外设与总线,实现存储空间扩展、I/O口线扩展、类型转换(电平转换、串并转换、A/D转换)、功能模块、通讯扩展、总线扩展等。

    外围设备——工做设备,链接在接口电路上,主要有输出设备和输入设备。

     

     

     

     

     

     

     

看门狗相关问题:

  1. 看门狗的原理?

    答:工做原理:在系统运行之后就启动看门狗计数器,此时看门狗就开始自动计时,若是达到必定的时间还不去给它进行清零,看门狗计数器就会溢出从而引发看门狗中断,形成系统的复位。

    为何会溢出呢?

       由于看门狗是一个计数器,而计数器位数有限。可以装的数值也就有限(好比8位的最多装256个数,16位的最多装65536个数),从开启看门狗那刻起,它就开始不停的数机器周期,数一个机器周期就计数器加1,加到计数器盛不下了(这就是溢出)就产生一个复位信号,重启系统。

  2. 看门狗分为软件看门狗和硬件看门狗,在什么状况下软件看门狗失效?

    答:硬件看门狗是利用一个定时器电路,其定时输出链接到电路的复位端,程序在必定时间范围内对定时器清零,所以程序正常工做时,定时器总不能溢出,也就不能产生复位信号。若是程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。

        软件看门狗原理上同样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样能够简化硬件电路设计,可是在可靠性方面不如硬件定时器。

    1、系统内部定时器自身发生故障看门狗就会失效(固然能够经过双定时器相互监视,成本高);

    2、中断系统故障致使定时器中断失效。

    3、整个程序死机。主程序出现异常。

  3. 何时喂狗?怎么喂狗?喂狗的注意事项?

    答:在实际的单片机应用系统中,到底选用哪一种型号的看门狗,采用何种喂狗方式和看门狗链接方式以及在编程中喂狗命令应该放在程序中什么位置,这要根据现场干扰源的特色、已采用的干扰措施、单片机硬件资源和软件结构特色以及对单片机系统的可靠性等具体状况而定。

  4. 看门狗通常应用到程序的那些位置?

    答: 一些重要的程序,必须让它一直跑着;并且还要时时关心它的状态——不能让它出现死锁现象。(固然,若是一个主程序会出现死锁,确定是设计或者编程上的失误。首要作的事是Debug。)但若是时间紧迫能够用软件看门狗,暂时应急。

     

    喂狗命令放置位置:

    1. 定时中断服务子程序中;

    2. 主程序中.

复位相关问题:

  1. 复位时单片机有什么动做?

    答:主要作的就是初始化每一个寄存器,包括最重要的PC指针,不包括RAM,而后单片机从复位地址开始执行程序。

    必须使RST引脚(9)加上持续两个机器周期(即24个振荡周期)的高电平。单片机就执行复位操做。若是RST持续为高电平,单片机就处于循环复位状态。

  2. 单片机有哪些复位源,什么状况下会致使各个复位源

    答:

    6个复位源

    TM4C123GH6PM微控制器有6个复位源:

    1)上电复位(POR);

    2)外部复位输入引脚有效(RST);

    3)掉电检测能够用于由如下任一事件引发:①  低于BOR0,触发值是BOR0的 最高电压值;②  低于BOR1,触发值是BOR1的最高  电压值。

    4)软件启动复位(利用软件复位寄存器);

    5)违反看门狗复位条件;

    6)MOSC故障。

     

    STM8S共有9个复位源:

    NRST引脚产生的外部复位

    上电复位(POR)

    掉电复位(BOR)

    独立看门狗复位

    窗口看门狗复位

    软件复位

    SWIM复位

    非法操做码复位

    EMS复位:当一些关键的寄存器被破坏或错误加载时产生的复位

    全部的复位源最终都做用于NRST管脚,并在复位过程当中保持低电平。复位入口向量在内存映射中位于固定的地址6000h。 

  3. 复位的两种启动方式?

    答:一、上电复位:要求接通电源后,自动实现复位操做。

        2、按钮复位:要求接通电源后,单片机自动复位,而且在单片机运行期间,使用开关也能够实现复位。

  4. 复位存在哪些问题?

    答:采用上电复位:复位信号上电过程当中有掉电现象,可能会形成逻辑方面的错误致使相关芯片复位时间不够、二次复位等、从而不可以正常工做起来。缘由:产生的复位信号给了几个芯片用,致使这个复位信号的负载压力比较大,驱动能力不够从而往下调电,此现象经常出如今RC复位上。

    复位信号上电前有毛刺与复位信号上电时有毛刺,可能会形成逻辑方面的错误致使相关芯片复位时间不够。方案:加大上拉电阻的阻值。

  5. 复位电路有哪些?那种比较好?

    答:单片机复位电路主要有四种类型:

    (1)微分型复位电路:

    (2)积分型复位电路:

    (3)比较器型复位电路:

    比较器型复位电路的基本原理。上电复位时,因为组成了一个RC低通网络,因此比较器的正相输入端的电压比负相端输入电压延迟必定时间.而比较器的负相端网络的时间常数远远小于正相端RC网络的时间常数,所以在正端电压尚未超过负端电压时,比较器输出低电平,经反相器后产生高电平.复位脉冲的宽度主要取决于正常电压上升的速度.因为负端电压放电回路时间常数较大,所以对电源电压的波动不敏感.可是容易产生如下二种不利现象:

    1)电源二次开关间隔过短时,复位不可靠:

    2)当电源电压中有浪涌现象时,可能在浪涌消失后不能产生复位脉冲。

    为此,将改进比较器重定电路,能够利用数字逻辑的方法和比较器配合,设计的比较器重定电路。此电路稍加改进便可做为上电复位和看门狗复位电路共同复位的电路,大大提升了复位的可靠性。

    (4)看门狗型复位电路.

    看门狗型复位电路主要利用CPU正常工做时,定时复位计数器,使得计数器的值不超过某一设定的值;当CPU不能正常工做时,因为计数器不能被复位,所以其计数会超过某一值,从而产生复位脉冲,使得CPU恢复正常工做状态。此复位电路的可靠性主要取决于软件设计,即将定时向复位电路发出脉冲的程序放在何处是最优的设计。通常设计,将此段程序放在定时器中断服务子程序中。然而,有时这种设计仍然会引发程序走飞或工做不正常。缘由主要是:当程序"走飞"发生时,定时器初始化以及开中断以后的话,这种"走飞"状况就有可能不能由Watchdog复位电路校订回来.由于定时器中断一真在产生,即便程序不正常,Watchdog也能被正常复位.为此提出定时器加预设的设计方法.即在初始化时压入堆栈一个地址,在此地址内执行的是一条关中断和一条死循环语句.在全部不被程序代码占用的地址尽量地用子程序返回指令RET代替.这样,当程序走飞后,其进入陷阱的可能性将大大增长.而一旦进入陷阱,定时器中止工做而且关闭中断,从而使Watchdog复位电路会产生一个复位脉冲将CPU复位.固然这种技术用于实时性较强的控制或处理软件中有必定的困难。

    因而可知,四种复位电路中,看门狗型复位电路较其余三中复位电路更加适合。

堆栈相关问题:

  1. 堆栈的原理?过程怎么操做?

    答:单片机RAM中,经常会指定一个专门的区域来存放某些特别的数据,它遵循先进后出、后进先出的原则。这个RAM区就是堆栈。堆栈是一种数据结构(数据项按序排列:堆,顺序随意。栈,后进先出)。使用一个称做堆栈指针的专用寄存器指示前的操做位置,堆栈指针老是指向栈顶。

        操做过程:

    1 堆栈的创建(初始化)

    2 参数入栈(push)

    3 参数出栈(pop)(后进先出)

  2. 堆栈应用在什么地方?存在什么问题?怎么解决?

    答:在80C51单片机中,堆栈在子程序调用和中断时会把断点地址自动进栈和出栈。进栈和出栈的指令(PUSH、POP)操做可用于保护现场和恢复现场。因为子程序调用和中断都容许嵌套,并能够多级嵌套,而现场的保护也每每使用堆栈,因此必定要注意给堆栈以必定的深度,以避免形成堆栈内容的破坏而引发程序执行的“跑飞”。

     

    堆栈指针SP在80C51中存放当前的堆栈栈顶所指存储单元地址的一个8位寄存器。80C51单片机的堆栈是向上生成的,即进栈时SP的内容是增长的;出栈时SP的内容是减小的。

    系统复位后。80C51的SP内容为07H。若不从新定义,则以07H为栈底,压栈的内容从08H单元开始存放。但工做寄存器R0~R7有4组,占有内部RAM地址为00H~1FH,位寻址区占有内部RAM地址为20H~2FH。若程序中使用了工做寄存器1~3组或位寻址区,则必须经过软件对SP的内容从新定义,使堆栈区设定在片内数据RAM区中的某一区域内(如30H),堆栈深度不能超过片内RAM空间。

     

  3. 学习堆栈的做用?

    答:在片内RAM中,经常要指定一个专门的区域来存放某些特别的数据,它遵循顺序存取和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈。

    1.子程序调用和中断服务时CPU自动将当前PC值压栈保存,返回时自动将PC值弹栈。

    2.保护现场/恢复现场

    3.数据传输

     

    也就是说,堆栈是进入中断的时候用到的,单片机一旦遇到中断请求,就会去处理中断,处理完后再回来处理主程序,这样就涉及到了一个问题,单片机要保存中断以前的信息,以便处理完后可以回到主程序中,单片机会在响应中断前,把单片机如今的指针地址(也就是处理完要返回的地址),以及一些必要的数据压入堆栈(没有这些数据,单片机处理完中断后就没法肯定主程序的状态)。

     

中断相关问题:

  1. 中断的响应过程?优先级?

    答:一、响应过程:

    1)根据响应的中断源的中断优先级,使相应的优先级状态触发器置1;

    2 执行硬件中断服务子程序调用,并把当前程序计数器PC的内容压入堆栈,保护断点,寻找中断源。

    3 清除相应的中断请求标志位(串行口中断请求标志RI和TI除外);

    4 把被响应的中断源所对应的中断服务程序的入口地址(中断矢量)送入PC,从而转入相应的中断服务程序。

    5 中断返回,程序返回断点处进行执行。

    2、优先级:中断的优先级有两个:查询优先级与执行优先级

    查询优先级:查询优先级是不能够更改和设置的

    1)系统默认的优先级(逻辑上):

    外部中断0 > 定时器中断0 > 外部中断1 > 定时器中断1 > 串行中断

    2)由IP寄存器来决定优先级。当IP对应位置为1时,该中断级别提升。同为1是按默认级别

  2. 中断嵌套的好处与坏处?

    答:中断嵌套:CPU在处理级别较低的中断过程当中,出现了级别较高的中断请求。CPU中止执行低级别中断,执行高级别的中断处理程序后,再接着执行低级别的未被处理完的中断程序。

    使用中断嵌套可使高优先级别的中断获得及时的响应和处理。

    1 CPU与外部设备并行工做

    2 可以处理例外事件

    3 实现实时处理

    4 实现人机联系

    5 实现用户程序与操做系统的联系

    6 实现多道程序并行执行

    7 在多处理机系统中,实现处理机之间的联系

    坏处:高级别的中断一直持续的话会影响低级别中断的处理。

  3. 中断向量表的理解

    答:中断源的识别标志,可用来造成相应的中断服务程序的入口地址或存放中断服务程序的首地址称为中断向量。把全部的中断向量集中起来,按中断类型号从小到大的顺序存放到存储器的某一区域内,这个存放中断向量的存储区叫作中断向量表,即中断服务程序入口地址表。

  4. 中断在单片机中起到什么做用?

    答:中断能实现快速的CPU与慢速的外设同步工做,实现数据传送、故障检测与处理、人机联系、多机系统、多道程序分时操做、实时信息处理等。

 

其它

  1. 什么是临界段,哪些状况下会存在临界段的问题,如何进行临界段保护。

    答:1.临界段代码,也叫临界区,是指那些必须完整连续运行,不可被打断的代码段。

    2.读取或者修改变量(特别是用于任务间通讯的全局变量)的代码,通常来讲这是最多见的临界代码。

    ②调用公共函数的代码,特别是不可重入的函数,若是多个任务都访问这个函数,结果是可想而知的。总之,对于临界段要作到执行时间越短越好,不然会影响系统的实时性。

    3.中断处理程序和任务都会访问的临界段代码,须要使用关中断的方法加以保护;仅由任务访问的临界段代码,能够经过给调度器上锁的方法来保护。

  2. 什么是可重入型函数,使用时须要注意哪些问题

    答:可重入函数

  1. 不为连续的调用持有静态数据。

  2. 不返回指向静态数据的指针;全部数据都由函数的调用者提供。

  3. 使用本地数据,或者经过制做全局数据的本地拷贝来保护全局数据。

  4. 若是必须访问全局变量,记住利用互斥信号量来保护全局变量。

    毫不调用任何不可重入函数。

     

    注意事项:

    1 :编写可重入函数时,应注意局部变量的使用(如编写C/C++ 语言的可重入函数时,应使用auto 即缺省态局部变量或寄存器变量)

    说明:编写C/C++语言的可重入函数时,不该使用static局部变量,不然必须通过特殊处理,才能使函数具备可重入性。

    2 :编写可重入函数时,若使用全局变量,则应经过关中断、信号量(即P 、V 操做)等手段对其加以保护

    说明:若对所使用的全局变量不加以保护,则此函数就不具备可重入性,即当多个进程调用此函数时,颇有可能使有关全局变量变为不可知状态。

  1. 专用词汇解释:

    VCCC=circuit 表示电路的意思, 即接入电路的电压;

    VDDD=device 表示器件的意思, 即器件   内部的工做电压;

    对于数字电路来讲,VCC是电路的供电电压,VDD是芯片的工做电压(一般Vcc>Vdd),VSS是接地点;有些IC既有VDD引脚又有VCC引脚,说明这种器件自身带有电压转换功能。

    VEE:发射极电源电压, Emitter Voltage, 通常用于 ECL 电路的负电源电压.

    VSSS=series 表示公共链接的意思,一般是指电路公共接地端电压。

    VPP:不一样芯片对Vpp的定义稍有不一样,好比电压峰峰值,单片机中Vpp多数定义为编程电压

    在场效应管(或COMS器件)中,VDD为漏极,VSS为源极,VDD和VSS指的是元件引脚,而不表示供电电压。通常来讲VCC=模拟电源,VDD=数字电源,VSS=数字地,VEE=负电源

相关文章
相关标签/搜索