🔍 搜索帖子 / 资讯 / 芯片型号…
论坛/全国大学生集成电路创新创业大赛/蜂鸟E203 SoC的UART中断的使用
蜂鸟E203 SoC的UART中断的使用
全国大学生集成电路创新创业大赛 作者 hhulll 发布于 2021-06-06 13:35(1951 天前) 6486 浏览

一、队伍介绍

参赛队名:英勇不秃 队伍编号:CICC2990

本篇主要介绍蜂鸟E203 SoC的UART中断

二、相关函数介绍

UART中断的方式有主要三种:接收数据校验位错误引起的中断,FIFO中数据与阈值比较后产生的中断,和TX_FIFO为空时产生的中断。


UART模块里的控制寄存器有很多,有以下的一些寄存器。


而与控制UART中断相关的寄存器主要是IER寄存器(3 bits),和FCR寄存器(只写)其中:

IER[2]:使能接收数据校验位错误引起的中断

IER[1]:使能FIFO中数据与阈值比较后产生的中断

IER[0]:使能TX_FIFO为空时产生的中断

而FCR寄存器则是下面会说到的中断阈值的设置需要用到的。


在设计的时候,我们一般都会希望能够使用键盘对系统进行控制,于是就需要用到UART中断,即使能FIFO中数据与阈值比较后产生的中断,这时就会设计到UART中断阈值的设置。在E203 SoC的代码里我们可以看到,中断阈值主要是由UART模块里面的trigger_level_n(2 bits)寄存器控制的。不同的值代表着不同的阈值深度。


了解了相关的寄存器后,我们可以进一步地查看相关的函数,以便我们设计。在蜂鸟软件开发平台中,hbirdv2_uart.c文件包含着UART模块的相关控制函数。使用下图的两个函数即可对相关寄存器进行设置。


 


三、总结

这篇贴子简单地分享了E203 SoC UART中断的使用方法,本人能力有限,难免可能会出现疏漏,但还是希望能够帮助到大家,同时也希望大家指正,祝各参赛队比赛顺利!


全部回复 0
暂无回复,抢个沙发~
💡 请 登录 后参与讨论(微信扫码即登录/注册)