华大HC32F460USART中断实验

目录

1.实验目标

2.实验准备

3. 硬件原理

4.驱动代码

5.主流程图

6.实验过程

 7.实验扩展

1.实验目标

       本实验在实验11的基础上,通过对USART中断的配置及编程,实现USART串口接收数据的功能,同时将接收到的数据发送到USART。

2.实验准备

       硬件搭建:ZW-HC32F460-BZ标准版开发板1套

       软件搭建:MDK5.22

3. 硬件原理

       这里我们使用板载的USB转串口来实现功能。USB转串口对应MCU的USART1,引脚使用PA11(TX)、PA12(RX)。

       需要注意:原理图中PA11、PA12通过J31、J32进行跳线切换连接到UART或USB,这里我们跳到UART。

 

4.驱动代码

       为了简化编程,让用户快速上手,我公司针对USART驱动文件进行了深度优化编写,提供开源的Usart.c和Usart.h以供用户使用,现将源文件关键定义及函数做说明。

【USART中断定义】

    USART中断主要有:

  1. 发送器中断:发送数据寄存器空中断TI 和发送完成中断TCI;
  2. 接收器中断:接收数据寄存器满中断RI 和接收错误中断REI;
  3. TIMEOUT中断:UART接收数据停止位被检测时TIMEOUT计数器启动,经过设定的TIMEOUT时间(设定单位为接收位数)后未检测到下一帧接收数据时,发生TIMEOUT;
  4. RX线唤醒停止模式中断:UART通信空闲时,可以让系统进入停止模式以节省电流消耗,在不改变UART PORT设定的情况下,UART单元1可以通过RX线来唤醒系统的停止模式。

       在HC32F460.h文件中对中断序号定义如下(以USART1为例):

    INT_USART1_EI           = 278U,

    INT_USART1_RI           = 279U,

    INT_USART1_TI           = 280U,

    INT_USART1_TCI          = 281U,

    INT_USART1_RTO          = 282U,

    INT_USART1_WUPI         = 432U,

       我们本节讨论发送器和接收器的四个中断。

       为了简化,对于中断向量的定义,我们只定义RI的中断向量,而EI、TI、TCI依次叠加1的形式,以USART1为例进行如下配置。

        此时:RI中断向量为0(Int000_IRQn);EI中断向量为1(Int001_IRQn)、TI中断向量为2(Int002_IRQn)、TCI中断向量为3(Int003_IRQn

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值