历史上的今天
今天是:2025年07月01日(星期二)
2020年07月01日 | STM8 UART 接收器
2020-07-01 来源:eefocus
STM8 UART 接受器
UART可以接收8位或9位的数据字。如果M位置1,字长为9位,其中MSB存放在寄存器UART_CR1的R8位。
字符接收
在UART接收期间,数据的最低有效位首先从RX脚移进。在此模式里,UART_DR寄存器有一个缓冲器(TDR),位于内部总线和接收移位寄存器之间。
配置步骤:
1.编程UART_CR1的M位来定义字长。
2.在UART_CR3中编程停止位的位数。
3.按下列顺序编写波特率寄存器选择要求的波特率。
a) UART_BRR2
b) UART_BRR1
4.将UART_CR2的REN置1。这将激活接收器,使它开始寻找起始位。
当一字符被接收到时
RXNE位被置位。它表明移位寄存的内容被转移到RDR。
如RIEN位被设置,则产生中断。
在接收期间如果检测到帧错误,噪音或溢出错误,错误标志将被置起。
由软件读UART_DR寄存器完成对RXNE位清除。RXNE标志也可以通过对它写0来清除。
RXNE位必须在下一字符接收结束前被清零,以避免溢出错误。
注意:在接收数据时,RE位不应该被复位。如果RE位在接收时被清零,当前接收的字节会丢失。
断开符号
当STM8接收到一个断开帧时,UART像处理帧错误一样处理它。
空闲符号
当一空闲帧被检测到时,其处理步骤和接收到普通数据帧一样,但如果ILIEN位被置1将产生一个中断。
过载错误
如果RXNE还没有被复位,又接收到一个字符,则发生溢出错误。数据只有当RXNE位被清零后才能从移位寄存器转移到RDR寄存器。
当溢出错误产生时:
OR位被置位。
RDR内容将不会丢失。读UART_DR寄存器仍能得到先前的数据。
移位寄存器中以前的内容将被覆盖。随后接收到的数据都将丢失。
如果RIEN位被置1,则产生中断。
顺序执行对UART_SR和UART_DR寄存器的读操作,可复位OR位
噪音错误
使用过采样技术(同步模式除外),通过区别有效输入数据和噪音来进行数据恢复。

(图103:STM8检测噪声的数据采样图)
注意:采样频率是波特率的16倍。

(表47:STM8检测噪声的数据采样表)
当在接收帧中检测到噪音时:
NF在RXNE位的上升沿被置1。
无效数据从移位寄存器移送到UART_DR寄存器。
NF这个位和RXNE位同时置1,后者会引发中断。顺序执行对UART_SR和UART_DR寄存器的读操作,可复位NF位。
帧错误
当以下情况发生时检测到帧错误:
由有大有在的时和于没同步上或量噪音的原因,停止位没预期间上接收识别出来。
误当帧错被检测到时:
1位被硬件置FE
无效数据从移位寄存器传送到UART_DR寄存器。
在单字节通信时,没有中断产生。然而,这个位和RXNE位同时置1,后者将引发中断 。
顺序执行对UART_SR和UART_DR寄存器的读操作,可复位FE位。
间止位接收期的可配置的停
被接收的停止位的个数可以通过控制寄存器3的控制位来配置。在正常模式时,可以是1或2个,IrDA模式里是1个,在智能卡模式里是1.5个。
1个停止位:对1个停止位的采样在第8,第9和第10采样点上进行。
1.5个停止位(仅智能卡模式):对1.5个停止位的采样是在第16,第17和第18采样点进行的。
能卡会在采样时拉低数据线,以此表示出现了帧错误。FE在1.5个停接收到NACK信号的智 位结束时和RXNE一起被置1。2个停止位:对2个停止位的采样是在第一停止位的第8,第9和第10个采样点完成的。如果第一个停止位期间检测到一个帧错误,帧错误标志将被置1。第二个停止位不再检查帧错误。在第一个停止位结束时RXNE标志将被置1。
上一篇:STM8 多处理器通信
下一篇:STM8 UART 发送器
史海拾趣
|
二、电磁干扰EMI与电磁兼容EMC 电磁干扰(Electromagnetic Interference),简称EMI,有传导干扰和辐射干扰两种。传导干扰主要是电子设备产生的干扰信号通过导电介质或公共电源线互相产生干扰;辐射干扰是指电子设备产生的干扰信号通过空间耦合把 ...… 查看全部问答> |
|
【藏书阁】89C51 中文Datasheet (来源周立功) 该系列单片机是采用高性能的静态80C51 设计由先进CMOS 工艺制造并带有非易失性Flash 程序存储器。全部支持12 时钟和6 时钟操作。… 查看全部问答> |
|
最近写一个意法的重力加速度传感器lis35de的驱动程序,我有一些问题不懂,驱动调不通。 1、文档上说当传感器静止在水平面时,z轴的加速度为1g?我想问这是为什么啊?都静止了加速度不是为0吗? 2、我的设置是这样的,CTRL_REG1=0x67, CTRL_REG2=0 ...… 查看全部问答> |
|
硬件:2440平台,640x480的屏 症状:加载NK进到系统界面后,屏显示正常,但是移动一下鼠标,屏会闪,有水平方向的横条 看到以前也有人碰到这个问题,但具体怎么解决也没有说。屏的参数配置是按照屏的spec配置的,刷新频率60Hz。有人说是显示驱动 ...… 查看全部问答> |
|
头疼这个好几天了,好不容易可以旋转了,但在这个问题上卡住了。。。 因为PDA屏幕的问题,一般是宽高不等的,所以比如一个矩形的图片,旋转后要根据宽度和高度与屏幕的关系,做一个缩放,当再次旋转的时候,又回到最初显示的状态。。。再次,再次 ...… 查看全部问答> |
|
ASAHI/AMERICA 的涡街流量计,拆下来后重新安装,显示出现异常 别的都没有动,只是更换管道时,整体拆下来的,然后再装上去就不正常了, 流量计标明4-20ma输出信号,表头显示用的red lion的,接收也是4-20ma信号,原先显示也在4-20范围之间,但现在显示为46-50之间,用万用表测电流也是47ma左右,这是为什么呢 ...… 查看全部问答> |
|
EEWORLD的网友们,你们好,在过去的一年中,我们EEWORLD论坛【最爱 TI Stellaris!】板块推出了很多的精彩的活动,得到了各位网友的踊跃参与,很多网友都参与试用并最终拥有了论坛发放的宝贵的LM3S8962开发板,EEWORLD 和TI年底还为积极参与并奉献 ...… 查看全部问答> |
|
STM8S105C6,我已经用这颗东西开发好方案,但是刚刚听说这颗东西还没生产。 是不是真的啊,很急啊!千万别吓我啊,代理当初告诉我这颗片子是有的啊,所以才选用的啊,大侠们有没这方面的消息啊?… 查看全部问答> |




