实验二 串口通信及中断实验

一、实验目的

  1. 掌握UART异步串行通信基本编程方法。
  2. 以串行通信接收中断为例掌握中断的基本编程方法方法。

二、实验设备和资料

软硬件工具和实验一相同,包括:

  1. 硬件部分:PC或笔记本电脑一台、AHL-STM32L431开发套件一套
  2. 软件部分:从苏州大学嵌人式学习社区网站,按照教材1.1.2节内容,下载相关的电子资源。
  3. 软件环境:按照教材1.1.2节内容,进行集成开发环境的安装。
  4. 资料:嵌入式技术基础与实践(第6版),王宜怀等. 清华大学出版社

三、实验内容

  1. 运行并理解..\04\-Software\CH06文件夹中的几个程序。
  2. 实现UART_2串口的接收程序,当收到字符时:

①在电脑的输出窗口显示下一个字符,如收到A显示B;

②亮灯:收到字符G,亮绿灯;收到字符R,亮红灯;收到字符B,亮蓝灯;收到其他字符,不亮灯。

实现方式:

(1) 用构件调用方式实现;

(2) UART部分用直接地址方式实现(即不调用uart.c中的函数,其他部分如GPIO、中断设置可调用函数)。

四、程序源码

写出实验内容2的主要程序的源码。

(1)

int main(void)

{

volatile uint32_t* RCC_AHB2;     //GPIOA口时钟使能寄存器地址

    volatile uint32_t* RCC_APB1;     //UART2口时钟使能寄存器地址

    volatile uint32_t* gpio_ptr;       //GPIOA口基地址

    volatile uint32_t* uart_ptr;       //uart2端口的基地址

    volatile uint32_t* gpio_mode;    //引脚模式寄存器地址=口基地址

    volatile uint32_t* gpio_afrl;      //GPIO复用功能低位寄存器

    volatile uint32_t* uart_brr;      //UART波特率寄存器地址

    volatile uint32_t* uart_isr;      // UART中断和状态寄存器基地址

    volatile uint32_t* uart_cr1;      //UART控制寄存器1基地址

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值