Skip to content

实验2: MCU时间实验

这次实验,目的在于熟悉C语言在嵌入式开发中的使用,学习如何通过串口输出数据给PC,理解如何用C语言操纵MCU的时间。

本实验配有 实验指南

实验目的

  1. 熟练掌握编写MCU程序的一般方法;
  2. 掌握PC上的串口软件,掌握MCU串口程序编写方法;
  3. 掌握MCU的中断响应程序编写方法;
  4. 熟练掌握MCU的时钟中断配置和时钟中断程序响应程序的编写方法;
  5. 掌握MCU程序的定时和获得时间的方法(采用SysTick和定时器中断两种方法)。

实验器材

硬件

较实验1增加一块USB转串口模块(CP2102)。

软件

较实验1增加合适的串口软件,如PuTTY(Windows)、picocom(Linux、macOS)。

实验步骤

此为实验报告的整体步骤,具体的实验步骤请参考 实验指南

  1. 恢复实验1的连线和程序;
  2. 编写程序,从串口以轮询方式输出“Hello World”;
  3. 编写程序,从串口输出测量到的按钮按下到抬起的时间长度(同样要注意去抖动);
  4. 编写程序,从某个GPIO口输出方波;
  5. 组内两位同学交叉连线,一位同学的MCU输出脉冲,另一位同学的MCU测量这个脉冲的高电平时间长度(注意两块板子要共地)。

扩展内容

  1. 在轮询之外,用中断、DMA两种方式来输出串口数据;
  2. 用引脚中断来处理按钮和测量时间;
  3. 试探能够测量的最小脉冲宽度。

实验报告要求

此为实验报告的整体要求,具体的实验步骤请参考 实验指南

  1. 画出你所实际实施的连接示意图;
  2. 给出实际拍摄的板卡连接照片;
  3. 给出所用的器材的列表;
  4. 给出实验各步骤的源代码和实验结果;
  5. 说明其他所做的扩展内容的情况。

验收要求

  1. 现场烧录程序,实现在串口输出测量到的按钮按下到抬起的时间长度(使用SysTick或TIM均可);
  2. 现场烧录程序,实现在某个GPIO口输出方波,另一位同学的MCU测量脉冲的高电平时间长度。若单人验收,可以使用逻辑分析仪或者示波器来进行测量。
  3. 回答与实验内容相关的问题。