📄 pc机与单片机的通讯.htm
字号:
<TABLE border=1 borderColorLight=#0000ff cellPadding=0
cellSpacing=0 height=169 width="52%">
<TBODY>
<TR>
<TD align=middle height=23 width="20%"><B>位</B></TD>
<TD align=middle height=23
width="50%"><B>注 释</B></TD></TR>
<TR>
<TD align=middle height=16 width="20%">7</TD>
<TD align=middle height=16 width="50%">未使用</TD></TR>
<TR>
<TD align=middle height=16 width="20%">6</TD>
<TD align=middle height=16 width="50%">未使用</TD></TR>
<TR>
<TD align=middle height=16 width="20%">5</TD>
<TD align=middle height=16
width="50%">进入低功耗模式(16750)</TD></TR>
<TR>
<TD align=middle height=16 width="20%">4</TD>
<TD align=middle height=16
width="50%">进入睡眠模式(16750)</TD></TR>
<TR>
<TD align=middle height=16 width="20%">3</TD>
<TD align=middle height=16
width="50%">允许MODEM状态中断</TD></TR>
<TR>
<TD align=middle height=16 width="20%">2</TD>
<TD align=middle height=16
width="50%">允许接收线路状态中断</TD></TR>
<TR>
<TD align=middle height=16 width="20%">1</TD>
<TD align=middle height=16
width="50%">允许发送保持器空中断</TD></TR>
<TR>
<TD align=middle height=16 width="20%">0</TD>
<TD align=middle height=16
width="50%">允许接收数据就绪中断</TD></TR></TBODY></TABLE></CENTER></DIV>
<P align=left>
Bit0置1将允许接收到数据时产生中断,Bit1置1时允许发送保持寄存器空时产生中断,Bit2置1将在LSR变化时产生中断,相应的Bit3置位将在MSR变化时产生中断。</P>
<P align=left> 中断识别寄存器(IIR):</P>
<DIV align=center>
<CENTER>
<TABLE border=1 borderColorLight=#0000ff cellPadding=0
cellSpacing=0 height=260 width="78%">
<TBODY>
<TR>
<TD align=middle height=24 width="20%"><B>位</B></TD>
<TD align=middle height=24
width="50%"><B>注 释</B></TD></TR>
<TR>
<TD align=middle height=16
width="20%">Bit6:7=00</TD>
<TD align=middle height=16 width="50%">无FIFO</TD></TR>
<TR>
<TD align=middle height=16
width="20%">Bit6:7=01</TD>
<TD align=middle height=16
width="50%">允许FIFO,但不可用</TD></TR>
<TR>
<TD align=middle height=16
width="20%">Bit6:7=11</TD>
<TD align=middle height=16
width="50%">允许FIFO</TD></TR>
<TR>
<TD align=middle height=16 width="20%">Bit5</TD>
<TD align=middle height=16
width="50%">允许64字节FIFO(16750)</TD></TR>
<TR>
<TD align=middle height=16 width="20%">Bit4</TD>
<TD align=middle height=16 width="50%">未使用</TD></TR>
<TR>
<TD align=middle height=16 width="20%">Bit3</TD>
<TD align=middle height=16
width="50%">16550超时中断</TD></TR>
<TR>
<TD align=middle height=16
width="20%">Bit2:1=00</TD>
<TD align=middle height=16
width="50%">MODEM状态中断(CTS/RI/DTR/DCD)</TD></TR>
<TR>
<TD align=middle height=16
width="20%">Bit2:1=01</TD>
<TD align=middle height=16
width="50%">发送保持寄存器空中断</TD></TR>
<TR>
<TD align=middle height=16
width="20%">Bit2:1=10</TD>
<TD align=middle height=16
width="50%">接收数据就绪中断</TD></TR>
<TR>
<TD align=middle height=16
width="20%">Bit2:1=11</TD>
<TD align=middle height=16
width="50%">接收线路状态中断</TD></TR>
<TR>
<TD align=middle height=16 width="20%">Bit0=0</TD>
<TD align=middle height=16 width="50%">有中断产生</TD></TR>
<TR>
<TD align=middle height=16 width="20%">Bit0=1</TD>
<TD align=middle height=16
width="50%">无中断产生</TD></TR></TBODY></TABLE></CENTER></DIV>
<P align=left>
IIR为只读寄存器,Bit6:7用来指示FIFO的状态,均为0时则无FIFO,此时为8250或16450芯片,为01时有FIFO但不可以使用,为11时FIFO有效并可以正常工作。Bit3用来指示超时中断(16550/16750)。</P>
<P align=left>
Bit0用来指示是否有中断发生,Bit1:2标识具体的中断类型,这些中断具有不同的优先级别,其中LSR中断级别最高,其次是数据就绪中断,然后是发送寄存器空中断,而MSR中断级别最低。</P>
<P align=left> FIFO控制寄存器(FCR):</P>
<DIV align=center>
<CENTER>
<TABLE border=1 borderColorLight=#0000ff cellPadding=0
cellSpacing=0 height=134 width="79%">
<TBODY>
<TR>
<TD align=middle height=24 width="20%"><B>位</B></TD>
<TD align=middle height=24
width="50%"><B>注 释</B></TD></TR>
<TR>
<TD align=middle height=16
width="20%">Bit7:6=00</TD>
<TD align=middle height=16
width="50%">1Byte产生中断</TD></TR>
<TR>
<TD align=middle height=16
width="20%">Bit7:6=01</TD>
<TD align=middle height=16
width="50%">4Byte产生中断</TD></TR>
<TR>
<TD align=middle height=16
width="20%">Bit7:6=10</TD>
<TD align=middle height=16
width="50%">8Byte产生中断</TD></TR>
<TR>
<TD align=middle height=16
width="20%">Bit7:6=11</TD>
<TD align=middle height=16
width="50%">14Byte产生中断</TD></TR>
<TR>
<TD align=middle height=16 width="20%">Bit5</TD>
<TD align=middle height=16
width="50%">允许64字节FIFO</TD></TR>
<TR>
<TD align=middle height=16 width="20%">Bit4</TD>
<TD align=middle height=16 width="50%">未使用</TD></TR>
<TR>
<TD align=middle height=16 width="20%">Bit3</TD>
<TD align=middle height=16
width="50%">DMA模式选择</TD></TR>
<TR>
<TD align=middle height=16 width="20%">Bit2</TD>
<TD align=middle height=16
width="50%">清除发送FIFO</TD></TR>
<TR>
<TD align=middle height=16 width="20%">Bit1</TD>
<TD align=middle height=16
width="50%">清除接收FIFO</TD></TR>
<TR>
<TD align=middle height=16 width="20%">Bit0</TD>
<TD align=middle height=16
width="50%">允许FIFO</TD></TR></TBODY></TABLE></CENTER></DIV>
<P align=left>
FCR可写但不可以读,该寄存器用来控制16550或16750的FIFO寄存器。Bit0置1将允许发送/接收的FIFO工作,Bit1和Bit2置1分别用来清除接收及发送FIFO。清除接收及发送FIFO并不影响移位寄存器。Bit1:2可自行复位,因此无需使用软件对其清零。Bit6:7用来设定产生中断的级别,发送/接收中断将在发送/接收到对应字节数时产生。</P>
<P align=left> 线路控制寄存器(LCR):</P>
<DIV align=center>
<CENTER>
<TABLE border=1 borderColorLight=#0000ff cellPadding=0
cellSpacing=0 height=171 width="81%">
<TBODY>
<TR>
<TD align=middle height=25 width="21%"><B>位</B></TD>
<TD align=middle height=25
width="54%"><B>注 释</B></TD></TR>
<TR>
<TD align=middle height=16 width="21%">Bit7=1</TD>
<TD align=middle height=16
width="54%">允许访问波特率因子寄存器</TD></TR>
<TR>
<TD align=middle height=16 width="21%">Bit7=0</TD>
<TD align=middle height=16
width="54%">允许访问接收/发送及中断允许寄存器</TD></TR>
<TR>
<TD align=middle height=16 width="21%">Bit6</TD>
<TD align=middle height=16
width="54%">设置间断,0-禁止,1-设置</TD></TR>
<TR>
<TD align=middle height=16
width="21%">Bit5:3=XX0</TD>
<TD align=middle height=16 width="54%">无校验</TD></TR>
<TR>
<TD align=middle height=16
width="21%">Bit5:3=001</TD>
<TD align=middle height=16 width="54%">奇校验</TD></TR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -