嵌入式系统实验LAB11

姓名 学号 班级 电话 邮箱
欧欣祺 15352267 15M2 13160874158 [email protected]

1、实验题目

Interrupts and the Timer

2、实验内容

在板子上跑程序:
仿真完成后把相应端口PA3,4,5换成PF1,2,3.重新对端口初始化设置。先设置每1s Time定时中断并PF2切换亮灭,改变定时初值观察结果。再对系统定时器中断时间重新设定为10ms,在其中断服务程序中对PF3切换状态.

3、实验过程及结果

程序修改前


嵌入式系统实验LAB11_第1张图片
image.png

(1)初始化PLL

其输出频率为50MHz。


嵌入式系统实验LAB11_第2张图片
image.png

(2)初始化系统定时器中断

系统定时器控制PA4。优先级为2。


嵌入式系统实验LAB11_第3张图片
image.png
image.png

(3)初始化时钟中断

时钟中断(Timer)控制PA3的变化,优先级为3。


嵌入式系统实验LAB11_第4张图片
image.png
image.png

(4)主程序

可以看到,主程序中通过一个循环,不断改变PA5的值。

嵌入式系统实验LAB11_第5张图片
image.png

分析

可以看到系统定时器中断的优先级>时钟中断的优先级>主程序,因此当主程序运行的时候,发生时钟中断,主程序被阻塞,接着又出现了系统定时器中断,此时时钟中断程序也阻塞,直至系统定时器中断程序结束,时钟中断程序继续运行至结束,接着主程序才接着运行。

修改优先级

将时钟中断的优先级改为1,此时 时钟中断的优先级>系统定时器中断的优先级>主程序

嵌入式系统实验LAB11_第6张图片
image.png

因此得到下面的结果,可以看到当主程序运行的时候,发生系统定时器中断,主程序被阻塞,接着又出现了时钟中断程序中断,此时系统定时器中断程序也阻塞,直至时钟中断程序结束,系统定时器中断程序继续运行至结束,接着主程序才接着运行。


嵌入式系统实验LAB11_第7张图片
image.png

修改端口

  • 修改基地址
image.png
  • 初始化PF1-3


    嵌入式系统实验LAB11_第8张图片
    image.png
  • 0.2s变化相当于时钟的频率为5HZ, 5HZ=50MHZ/(199+1)/50000,因此传入的参数为50000.

image.png
image.png

蓝灯以较快的速度闪烁,估计就是0.2S了。


嵌入式系统实验LAB11_第9张图片
IMG_5786.JPG
  • 0.01s变化相当于时钟的频率为100HZ, 100HZ=50MHZ/500000,因此传入的参数为500000.
嵌入式系统实验LAB11_第10张图片
image.png
image.png
  • 因为在counts中进行了延时,所以绿灯闪烁变慢了,这样才能观察到它在闪烁。


    嵌入式系统实验LAB11_第11张图片
    IMG_5787.JPG

你可能感兴趣的:(嵌入式系统实验LAB11)