IEC60730 Class B错误处理:接收与中断机制

需积分: 50 8 下载量 158 浏览量 更新于2024-08-10 收藏 2.54MB PDF 举报
"这篇文档是关于16位PIC微控制器,特别是dsPIC30F4011/4012型号的数字信号控制器的数据手册,涵盖了错误处理机制,特别是iec60730-1 Class B标准下的接收错误处理。内容涉及到UART(通用异步收发传输器)的配置、接收数据流程、接收缓冲器和中断机制,以及接收错误如溢出错误的处理。" 在iec60730-1 Class B标准下,接收数据的处理过程包括多个步骤。首先,需要设置UART为8位或9位数据模式,并启用UART。接着,当接收到数据字时,根据URXISEL位(UxSTA<7:6>)设定的中断设置,会触发接收中断。在处理接收中断时,应检查OERR位,以确定是否存在溢出错误。如果OERR位被置1,表示发生溢出,需通过软件复位清除。 接收缓冲区是一个4字深度的FIFO,加上接收移位寄存器UxRSR,形成了一个5字深度的实际FIFO。URXDA位(UxSTA<0>)指示接收缓冲区是否有可用数据。当尝试从空缓冲区读取数据时,读取的值是缓冲区中原来的值,不会引起数据移位。器件复位、进入或退出省电模式都不会影响FIFO的状态。 接收中断标志(U1RXIF或U2RXIF)可以根据URXISEL<1:0>位的设置,即00、01、10或11,决定在不同条件下触发中断,例如缓冲区满、有3个字符或1个字符时。在运行过程中可以改变中断模式,但这可能会影响正常操作。 接收错误处理主要关注接收缓冲器溢出错误(OERR位)。当接收缓冲器和移位寄存器都满,且检测到停止位时,OERR位会被置1,此时没有新数据能进入移位寄存器,除非通过软件清零OERR位或设备复位。即使出现溢出错误,UxRSR和UxRXREG中的数据仍然有效。 此外,文档还提到了Microchip Technology Inc.对于其代码保护功能的声明,强调代码保护并非绝对安全,并提到了《数字器件千年版权法案》的相关内容,以及使用Microchip产品时应遵循的条款和责任。虽然这部分内容与接收错误处理的主题稍有偏离,但它是整个微控制器使用和安全的重要组成部分。