【经验】8位单片机EFM8BB21 UART1接收FIFO的配置与调试

2019-08-09 世强
8位单片机,8位MCU,EFM8BB21,Silicon Labs 8位单片机,8位MCU,EFM8BB21,Silicon Labs 8位单片机,8位MCU,EFM8BB21,Silicon Labs 8位单片机,8位MCU,EFM8BB21,Silicon Labs

SILICON LABS 创新型8位MCU EFM8系列提供完全集成的体验,非常适合物联网应用,提供了业界最快的速度和最低的功耗,使用增强型8051内核,集成UART、SPI、SMBUS、ADC等丰富外设。 Silicon Labs官方提供了集成的开发环境,并且在其中提供了可视化的置工具,可以使工程师更快地配置寄存器。

 

在嵌入式开发的过程中我们经常要使用到UART通信,8位单片机EFM8BB21提供了UART0和UART1两个UART。我们使用UART接收中断去接收数据,如果每接收到一个数据就产生中断,将大大增加单片机的开销。EFM8BB21的UART1提供了4byte的发送接收FIFO缓冲区,通过合理配置使用接收FIFO可以大大减少中断的触发次数,提高程序的运行效率。本文主要介绍如何配置调试UART1的接收FIFO模式。

 

关于UART1的基本接收配置与调试,参见文章【经验】8位单片机EFM8BB21 串口UART1的配置与调试。本文只介绍和接收FIFO相关的配置。打开UART1的Properties窗口,在其中的FIFO选项卡中做如下配置。

 

Receive Timeout:配置接收Timeout的时间,当接收缓冲器中的数据不为空并且数量不足以产生RFRQ(Receive FIFO Request)的时候,串口线上的空闲时间达到Timeout后,将产生一个RFRQ。举例说明,比如我们配置了当接收缓冲器中的数据超过3个的时候将产生一个RFRQ,但是线路上一共只发来了2个数据,那么在经历Timeout配置的时间后,虽然接收缓冲器中的数据没有超过3个,但这个时候同样会产生一个RFRQ。


RX FIFO Threshold:配置接收缓冲器有多少个数据的时候可以产生一个RFRQ。


Enable Read Request Interrupt:是否使能RFRQ产生中断。


Enable Receive Interrupt:是否使能接收中断,这里我们选择Disable,因为开启后会每个字节都产生一个中断,我们此文中配置接收缓冲器的目的就是为了减少中断产生的次数。


在中断中添加如下代码:

我们定义了一个INT_Count来记录中断产生的次数,我们配置当接收缓冲器的数据大于3产生一个RFRQ中断请求,我们在Debug中,给单片机连续发送12个数据,观察到INT_Count变量的值为3。这说明12个数据一共产生了3次中断,与每个数据都产生中断相比大大节省了单片机的资源。


Tips:

1、  RFRQ不需要手动清除,为硬件自动更新。

置位条件:

(1)接收缓冲器中的数据的个数大于RX FIFO Threshold(RXTH)。

(2)产生Receive Timeout。

清除条件:

接收缓冲器中的数据的个数不大于RX FIFO Threshold(RXTH)。 

2、  在关闭了接收中断后,RI 位在接收缓冲器不为空时仍然会置位,我们可以通过判断RI位是否为1来断定接收缓冲器中是否有数据需要处理。

3、  是否使用接收FIFO模式还需看具体实际应用,接收FIFO模式优点是减少了中断次数,节省了单片机资源。缺点是数据接收处理的实时性不好。

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由黄昏提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】8位单片机EFM8BB21 串口UART1的配置与调试

UART是单片机中经常要使用到的外设, Silicon Labs EFM8BB21系列8位单片机中有两个UART,分别UART0和UART1,本片文章主要介绍UART1的配置与调试。使用芯科官方推出的开发软件Simplicity Studio配置工具可以很方便的进行寄存器的初始化配置,省去了繁杂的计算。

设计经验    发布时间 : 2019-07-24

【经验】Silicon Labs 8位单片机EFM8BB21 GPIO输出配置与调试

Silicon Labs 创新型8位MCU提供完全集成的体验,非常适合物联网应用,提供了也接最快的速度和最低的功耗,同时EFM8系列车用8位MCU为当前市场上最具价值、最灵活和集成度更高的车载MCU。 GPIO为单片机中最常使用的功能,本文将以P0.0端口为例分享EFM8BB21的GPIO输出配置与调试。

设计经验    发布时间 : 2019-07-14

【经验】8位单片机EFM8BB21 Timer0定时器配置与调试

Silicon Labs EFM8BB21系列8位MCU包含5个定时器,Timer0、Timer1、Timer2、Timer3、Timer4,Timer0和Timer1与标准的8051的计数器/定时器兼容。本文将分享Timer0的16位定时器功能的配置与调试,使用Simplicity Studio的配置工具可以方便的配置寄存器的参数,较之前需要自己手动计算相比,大大提高了便捷性和准确性。

设计经验    发布时间 : 2019-07-13

【应用】找水仪项目选用芯科科技8位MCU C8051F340,带有USB控制器,开发简单,提供案例程序

找水仪项目,使用芯科C8051F340的8位MCU,带有USB控制器,专用开发环境,以及接口协议的案例,减少开发难度,降低开发成本。USB控制全速12Mbps,速率相对比较快,加快信息上传;外设接口多,便于添加外设。

应用方案    发布时间 : 2022-12-15

【经验】如何进行8位单片机EFM8BB21开发环境搭建与新建工程

Silicon Labs官方提供了带有集成式IDE的免费Simplicity Studio、不限代码长度的免费Keil编译器、演示、库与示例代码。本文将介绍如何进行8位MCU EFM8BB21开发环境的搭建与新建工程。

设计经验    发布时间 : 2019-07-10

【应用】芯科科技高性能8位单片机EFM8BB31F32G用于音频放大器,集成多达四个12位DAC

本文介绍Silicon Labs 8位单片机EFM8BB31F16G-D-QFN24R用于音频放大器,优势:最高工作频率50MHz,稳定性好;集成一个12位ADC、四个具备同步和PWM功能的12位DAC;FLASH从16KB~64KB可选等。

应用方案    发布时间 : 2022-09-20

【经验】如何基于8位单片机EFM8SB10实现高可靠性容性触摸按键硬件电路设计?

Silicon Labs 8位单片机EFM8SB10系列,支持容性触摸功能,并以其精度高、功耗低、成本低等特点,被广泛应用在显示屏按键输入、油烟机面板、灶台面板等产品上。 然而,为了保证产品的可靠性及长久性,在硬件电路设计上,需要有多项注意事项,本文将带你详细了解这些内容。

设计经验    发布时间 : 2019-01-01

【经验】PCB布线技巧:8位单片机端口Crossbar功能的使用及配置

如果单片机自带Crossbar功能,只要软件配置调整一下各端口功能,PCB布线就会畅通。

设计经验    发布时间 : 2017-08-09

【应用】Silicon Labs高性能8位单片机EFM8BB10适用于智能小车,主频可达25MHz

智能小车可以按照预先设定的模式在一个环境里自主的运行,不需要人为操作,具有自动循迹、避障、转弯等功能。本文将详细介绍Silicon Labs 8位单片机EFM8BB10在智能小车上的应用优势。

应用方案    发布时间 : 2020-11-29

【经验】8位单片机EFM8BB21F16G在通过串口bootloader升级遇到的问题及解决方法

Silicon Labs的8位单片机EFM8系列在出厂的时候是芯片的最后一个扇区是有引导程序的,对用户的生产带来了很大便利,可以不通过调试器而是直接通过串口或IIC方式下载程序,依据出厂自带引导程序的类型。本文以EFM8BB21F16G为例进行介绍。

设计经验    发布时间 : 2019-03-25

8位单片机EFM8系列中芯片上的UID是什么?

UID是芯片中新加的全球唯一ID,即每个芯片的ID都是不一样的,EFM8系列的MCU上都包含此ID。有两类获取UID的方式,一种通过读取RAM的特定地址获得,一种通过读取Flash的特定地址获得。在早期引入此ID的MCU上(比如EFM8BB1/SB1/SB2)这个ID为32位,在芯片复位时(PC指针被复位至0之前)被复制至RAM中特定位置,用户程序可以读取其值。此位置的RAM仍然可以由用户使用。需要注意的是如果此位置被编译器分配了变量,那么当函数执行至main()时此位置的内容会被初始化代码覆盖。EFM8UB2的UID也是此类,但其位数为128位。在新的EFM8系列MCU上(比如EFM8BB3/LB1/UB1),UID位数为128位,存储在Flash上。

技术问答    发布时间 : 2017-05-05

【经验】8位MCU EFM8BB3中进行32位计数、计时器的方法

Silicon Labs的8位MCU EFM8BB3提供了6个Timer,值得一提的是通过Timer3、Timer4可以组成一个32位定时器、计数器,此功能在精确计时、计数场景将非常有用。本文就将集中介绍EFM8BB3中进行32位计数、计时器的方法。

设计经验    发布时间 : 2020-08-05

8位单片机EFM8LB11,既有I2C,也有SMBus,那么,I2C与SMBus的主要差别是什么?

SMBus和I2C的主要差别是与各种时序要求相关。下面列举最重要的方面:SMBus定义一个最小总线时钟频率FSMB,10KHz。I2C没有明确任何最小总线时钟频率。除了维持有效的总线吞吐量,该SMBus协议参数还可作为一个简单的检测总线空闲条件(除了或代替检测每个STOP条件)和实现比特位超时的方法。SMBus定义一个数据保持时间,即从SMBCLK下降沿之后,SMBDAT仍然必须维持至少300ns有效。这在I2C协议中定义的保持时间为0。SMBus时钟最大频率定义为100KHz。I2C提供多种不同速率模式操作,Standard模式最高频率达到100KHz,Fast模式为400KHz,Fast Plus为1MHz,而High-speed高达到3.4MHz。SMBus定义一个时钟低电平超时 TTIMEOUT,最大为35ms。I2C并没有明确指定任何超时限制。SMBus明确TLOW:SEXT,即SMBus从设备的累积时钟低扩展时间。I2C没有类似的规定。SMBus明确 TLOW:MEXT,即SMBus主设备的累积时钟低扩展时间。I2C没有类似的规定。

技术问答    发布时间 : 2017-05-05

【应用】高性能8位单片机EFM8LB在100G QFSP28光模块中的应用

Silicon Labs EFM8LB系列8位MCU,以其高速度、高集成度、开发工具先进等诸多优点,使其非常适合用在100G QSFP298光模块

应用方案    发布时间 : 2019-01-27

【经验】8位单片机EFM8LB1的CLU如何中实现D锁存器

Silicon Labs是世界著名精密混合信号半导体方案提供商,其推出的EFM8LB系列8位MCU,具有高集成度、高速度、小体积等特点,被广泛应用在光模块、工业控制等领域。 EFM8LB系列MCU集成了CLU(Configurable Logic Unit)单元,不占用MCU带宽、可单独使用也可级联,能实现较为复杂的逻辑运算,本文将对CLU如何中实现D锁存器,进行详细介绍。

设计经验    发布时间 : 2020-07-22

展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥12.9143

现货: 95,058

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥3.9026

现货: 83,205

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥3.5305

现货: 80,817

品牌:SILICON LABS

品类:8位MCU

价格:¥5.8534

现货: 73,120

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥5.0172

现货: 45,300

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥4.3667

现货: 27,741

品牌:SILICON LABS

品类:8位MCU

价格:¥4.4595

现货: 27,240

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥9.2911

现货: 23,898

品牌:SILICON LABS

品类:8位MCU

价格:¥8.1764

现货: 22,497

品牌:SILICON LABS

品类:8位MCU

价格:¥35.2133

现货: 18,350

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:SILICON LABS

品类:8位MCU

价格:¥4.9000

现货:12,000

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥10.1700

现货:10,000

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥3.7900

现货:3,451

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥11.1200

现货:1,201

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥16.8500

现货:550

品牌:SILICON LABS

品类:8位MCU

价格:¥56.0000

现货:550

品牌:SILICON LABS

品类:8位MCU

价格:¥5.1900

现货:396

品牌:SILICON LABS

品类:8位MCU

价格:¥39.8000

现货:266

品牌:RENESAS

品类:microcontroller

价格:¥2.8532

现货:188,410

品牌:RENESAS

品类:microcontroller

价格:¥32.9564

现货:40,179

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

MCU烧录/Flash烧录/CPLD烧录

可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。

最小起订量: 1pcs 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面