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


SILICON LABS 创新型8位MCU提供完全集成的体验,非常适合物联网应用,提供了业界最快的速度和最低的功耗,同时EFM8系列车用8位MCU为当前市场上最具价值、最灵活和集成度更高的车载MCU。Silicon Labs提供了集成的开发环境,并且在其中提供了可视化的置工具,可以使工程师更快地初始化寄存器。
UART是单片机中经常要使用到的外设, EFM8BB21系列8位单片机中有两个UART,分别UART0和UART1,本片文章主要介绍UART1的配置与调试。使用芯科官方推出的开发软件Simplicity Studio配置工具可以很方便的进行寄存器的初始化配置,省去了繁杂的计算。
首先在Port I/O Mapping窗口中勾选UART1,勾选后可以在xxx.hwconf窗口中看到对应的引脚被标记为UART1_TX和UART1_RX。
作为UART1_TX的P0.0的IOMode需要设置为Digital Push-Pull Output,如图所示。
在Port I/O对应的Properties窗口中将Enable Crossbar 设置为Enabled,在用户手册中有原文指出,The crossbar must be enabled to use port pins as standard port I/O in output mode. Port output drivers of all I/O pins are disabled whenever the crossbar is disabled。
在xxx.hwconf窗口的DefaultMode Peripherals选项卡中勾选Interrupts、UART1,如图所示。
在Interrupts的Properties窗口中使能总中断和UART1中断
在UART1的Properties窗口中使能Receive,在Expected Baud Rate一栏直接输入目标波特率即可,我们根本无需关系波特率是如何计算的,只需要填写目标波特率,工具会自动生成波特率相关寄存器的配置。如果因为时钟原因导致无法设置相应的波特率,只需要调整Baud Rate Prescaler到合适大小即可。在UART1的Properties窗口的FIFO选项卡中使能发送和接收中断。如图所示。
配置好后,在中断中加入如下代码,注意UART1的SCON1和SBUF1寄存器的SFR Page=0x20。至此可以进行Debuge调试。
本文中体现的UART1和UART0的不同点:
1、 波特率发生器不同,UART0为选择Mode2模式的Timer1。UART1的波特率发生器为一个专用的16位定时器,基于系统时钟运行,并且可以对系统时钟进行1、4、12、48分频。
2、 UART1的寄存器SFR Page = 0x20,系统启动后SFR Page默认为0x00,所以对于UART1相关寄存器进行操作时需要注意当前的SFR Page设置。
- |
- +1 赞 0
- 收藏
- 评论 1
本文由黄昏提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】Silicon Labs 8位单片机EFM8BB21 GPIO输出配置与调试
Silicon Labs 创新型8位MCU提供完全集成的体验,非常适合物联网应用,提供了也接最快的速度和最低的功耗,同时EFM8系列车用8位MCU为当前市场上最具价值、最灵活和集成度更高的车载MCU。 GPIO为单片机中最常使用的功能,本文将以P0.0端口为例分享EFM8BB21的GPIO输出配置与调试。
【经验】8位单片机EFM8BB21 Timer0定时器配置与调试
Silicon Labs EFM8BB21系列8位MCU包含5个定时器,Timer0、Timer1、Timer2、Timer3、Timer4,Timer0和Timer1与标准的8051的计数器/定时器兼容。本文将分享Timer0的16位定时器功能的配置与调试,使用Simplicity Studio的配置工具可以方便的配置寄存器的参数,较之前需要自己手动计算相比,大大提高了便捷性和准确性。
【经验】8位单片机EFM8BB21 UART1接收FIFO的配置与调试
在嵌入式开发的过程中我们经常要使用到UART通信,EFM8BB21提供了UART0和UART1两个UART。我们使用UART接收中断去接收数据,如果每接收到一个数据就产生中断,将大大增加单片机的开销。EFM8BB21的UART1提供了4byte的发送接收FIFO缓冲区,通过合理配置使用接收FIFO可以大大减少中断的触发次数,提高程序的运行效率。本文主要介绍如何配置调试UART1的接收FIFO模式。
【应用】芯科科技高性能8位单片机EFM8BB31F32G用于音频放大器,集成多达四个12位DAC
本文介绍Silicon Labs 8位单片机EFM8BB31F16G-D-QFN24R用于音频放大器,优势:最高工作频率50MHz,稳定性好;集成一个12位ADC、四个具备同步和PWM功能的12位DAC;FLASH从16KB~64KB可选等。
【应用】高性能8位单片机EFM8LB在100G QFSP28光模块中的应用
Silicon Labs EFM8LB系列8位MCU,以其高速度、高集成度、开发工具先进等诸多优点,使其非常适合用在100G QSFP298光模块
【应用】Silicon Labs高性能8位单片机EFM8BB10适用于智能小车,主频可达25MHz
智能小车可以按照预先设定的模式在一个环境里自主的运行,不需要人为操作,具有自动循迹、避障、转弯等功能。本文将详细介绍Silicon Labs 8位单片机EFM8BB10在智能小车上的应用优势。
【经验】8位单片机EFM8BB21F16G在通过串口bootloader升级遇到的问题及解决方法
Silicon Labs的8位单片机EFM8系列在出厂的时候是芯片的最后一个扇区是有引导程序的,对用户的生产带来了很大便利,可以不通过调试器而是直接通过串口或IIC方式下载程序,依据出厂自带引导程序的类型。本文以EFM8BB21F16G为例进行介绍。
【经验】如何进行8位单片机EFM8BB21开发环境搭建与新建工程
Silicon Labs官方提供了带有集成式IDE的免费Simplicity Studio、不限代码长度的免费Keil编译器、演示、库与示例代码。本文将介绍如何进行8位MCU EFM8BB21开发环境的搭建与新建工程。
有没有剃须刀,牙刷这类应用的8位单片机型号?
中科芯和雅特力暂时还没有8位MCU,可以看看Silicon Labs的8位mcu,选型可以参考https://www.sekorm.com/doc/1072912.html
请问带SMUBUS方式下载接口,Silicon Labs的8位单片机EFM8LB12是否通过SMBUS BOOTLOADER直接下载.hex固件程序?
目前ilicon Labs的8位单片机EFM8LB系列带SMBUS接口的MCU不支持直接通过SMBUS下载.hex固件,需要先通hex2boot.exe将.hex文件转成.efm8文件然后通过efm8_load_smbus.exe将.efm8下载到EFM8LB单片机中。
安装simplicity studio软件,开发EFM8LB系列8位MCU的代码,请问,可以选用哪些调试器用于在线调试代码?
对于基于simplicity studio软件平台开发8位单片机EFM8LB系列MCU,可以选用的调试器如下: 1、世强的U-EC6; 2、silicon labs的U-EC3; 3、silicon labs的STK上集成的J-LINK。
【经验】8位MCU EFM8BB3中进行32位计数、计时器的方法
Silicon Labs的8位MCU EFM8BB3提供了6个Timer,值得一提的是通过Timer3、Timer4可以组成一个32位定时器、计数器,此功能在精确计时、计数场景将非常有用。本文就将集中介绍EFM8BB3中进行32位计数、计时器的方法。
【经验】8位单片机EFM8BB21 外部中断INT0的配置与调试
外部中断可以用于按键检测,传感器信号输入等,是嵌入式开发中经常会用到的外设,本文主要介绍如何通过使用Simplicity Studio快速配置8位单片机EFM8BB21外部中断。本文中例程使用INT0检测与P0.1端口连接的按键,中断触发方式为下降沿触发,在中断程序中控制与P0.7端口相连的LED的通断。
为什么在8位MCU C8051F392上运行正常的程序增加了一个全局变量后就无法执行到主程序中?
8位MCU C8051F392芯片内部集成有看门狗功能,这个功能默认是开启的,当全局变量过多时,在C语言的程序初始化没有结束时看门狗已经复位了,所以无法执行到主程序中,解决 办法是将STARTUP.A51添加到项目中,并在STARTUP.A51文件中将看门狗关闭。
【经验】8位单片机EFM8LB1的CLU如何中实现D锁存器
Silicon Labs是世界著名精密混合信号半导体方案提供商,其推出的EFM8LB系列8位MCU,具有高集成度、高速度、小体积等特点,被广泛应用在光模块、工业控制等领域。 EFM8LB系列MCU集成了CLU(Configurable Logic Unit)单元,不占用MCU带宽、可单独使用也可级联,能实现较为复杂的逻辑运算,本文将对CLU如何中实现D锁存器,进行详细介绍。
电子商城
现货市场
服务

可定制单位/双位/三位/四位LED数码管的尺寸/位数/发光颜色等性能参数,每段亮度0.8~30mcd,主波长470~640nm,电压2~10.2V。
最小起订量: 1000 提交需求>

可定制ATD TE Dehumidifier的冷却功率:20~220W;工作电压:12V(DC)/ 220V(AC);控温精度:≤±0.5℃;尺寸:冷面:20*20~500*300;热面:60*60~540*400(长*宽;单位mm)。
最小起订量: 1 提交需求>
登录 | 立即注册
提交评论