REVIEW
关于ZYNQ中断: |
1. 今日摸鱼任务
实现私有定时器中断控制EDA扩展版上8个led亮灭效果 (私有定时器中断 + AXI_GPIO) |
小梅哥教材: 03_【裸机教程】基于C编程的Zynq裸机程序设计与应用教程v2.4.5.pdf 第六章 定时器中断(没用串口) |
开发板上
CPU 的时钟频率为
666MHz
定时器时钟频率为
CPU
时钟频率的一半,即
333MHz
|
2. Block Design
本次使用 axi_gpio的写入功能
ARM
的私有定时器默认是开启的,不需要配置
|
![]() |
![]() |
3. SDK
AXI_GPIO SCU_GIC |
ZYNQ AXI_GPIO_INT-优快云博客 |
SCU_TIMER.h |
#ifndef ACZ702_LIB_SCU_TIMER_H_ #include "xscutimer.h" extern uint8_t Tick_Flag; XScuTimer ScuTimer; void ScuTimer_Int_Init(double Load_Val); #endif /* ACZ702_LIB_SCU_TIMER_H_ */ |
SCU_TIMER.c |
/** uint8_t Tick_Flag = 0 ;
/* ↑↑↑结束处理↑↑↑ */
//将us转换为定时器装载值 //四舍五入,使结果更精准 //设置自动装载值和自动装载模式 //链接到中断控制器 //使能定时器中断 //开启计数器 |
main.c |
/*
//Xilinx头文件 #include "AXI_GPIO.h"
while(1) if(Tick_Cnt > 7) |
4. 效果
EDA扩展板上,8个LED依次点亮、全灭,循环。
摸鱼结束哩~