微芯科技UART数据发送详解-8位与9位模式

需积分: 50 8 下载量 55 浏览量 更新于2024-08-10 收藏 2.54MB PDF 举报
"发送数据在IEC60730-1 Class B标准中的实现主要涉及18.3章节,涵盖了8位和9位数据模式下的发送过程,以及发送缓冲器的使用。" 在发送数据的过程中,针对8位数据模式,首先要设置UART(通用异步收发传输器)的相关参数,包括数据长度(8位)、奇偶校验位和停止位的数量。这些配置通常在UxMODE和UxSTA寄存器中完成。接着,启用UART功能,即设置UARTEN(UxMODE<15>)位为1。然后,通过置位UTXEN(UxSTA<10>)来启动发送功能。数据字节写入UxTXREG的低字节后,会被立即传输到发送移位寄存器UxTSR,并在波特率时钟的上升沿期间开始发送。此外,中断控制位UTXISEL(UxSTA<15>)决定了是否会产生发送中断。 对于9位数据模式,发送流程基本相同,但需要将一个16位数据字写入UxTXREG,其中高7位始终为0。这意味着在发送9位数据时,额外的一位通常用于控制或者其他特殊用途。 发送缓冲器UXTXB是9位宽且具有4字符深度的,加上发送移位寄存器UxTSR,形成了一个5级深度的FIFO(先进先出)缓冲器。UTXBF(UxSTA<9>)状态位指示发送缓冲器是否已满。若尝试写入已满的缓冲器,FIFO不会接收新数据,防止数据丢失,确保系统可以从溢出状态恢复。 FIFO在器件复位时会被清空,但在进入省电模式或从省电模式唤醒时,其内容不受影响。这些特性使得在低功耗应用中也能有效地管理数据传输。 值得注意的是,这个描述是基于16位的Microchip PIC微控制器,如dsPIC30F4011/4012的数据手册。Microchip Technology Inc.强调了其产品的代码保护功能,虽然不能保证绝对的安全性,但会持续改进以应对潜在的攻击。此外,他们提醒用户关注英文原文档,以获取最准确的信息,因为中文翻译可能会有误差,且Microchip不对翻译中可能出现的错误负责。 使用Microchip的器件时,用户需确保应用符合技术规范,并了解尽管有代码保护功能,但并不能完全防止代码被非法访问。根据《数字器件千年版权法案》,任何破坏代码保护的行为可能构成违法行为,且可能导致法律诉讼。因此,合理使用和保护知识产权至关重要。