当前位置: 首页 > news >正文

新开传奇网站195合击做广告公司网站建设价格

新开传奇网站195合击,做广告公司网站建设价格,响应式网站建设公司',软件开发培训班机构BD目标 全局定时器产生时间戳私有定时器产生200ms中断回调,打印时间戳 裸机测试 /************************************************************* SCU Timer 中断测试程序* - 使用 ARM Cortex-A9 的私有定时器 (SCU Timer)* - 定时周期 200ms* - 每次中断打印当前毫秒计数和…

BD

在这里插入图片描述

目标

  1. 全局定时器产生时间戳
  2. 私有定时器产生200ms中断回调,打印时间戳

裸机测试

/************************************************************* SCU Timer 中断测试程序* - 使用 ARM Cortex-A9 的私有定时器 (SCU Timer)* - 定时周期 = 200ms* - 每次中断打印当前毫秒计数和翻转的状态位** 硬件环境:*   - PS (Processing System) 内部的私有定时器*   - GIC (通用中断控制器)************************************************************/#include "xparameters.h"   // 包含器件的硬件参数 (Device ID、基地址等)
#include "xscutimer.h"     // SCU 定时器驱动函数声明
#include "xscugic.h"       // 中断控制器驱动函数声明
#include "xil_printf.h"    // 串口打印函数
#include "xtime_l.h"       // 全局计时器 (ARM Global Timer)//========================= 硬件参数定义 =========================//#define TIMER_DEVICE_ID   XPAR_XSCUTIMER_0_DEVICE_ID    // SCU 定时器 Device ID
#define INTC_DEVICE_ID    XPAR_SCUGIC_SINGLE_DEVICE_ID  // GIC Device ID
#define TIMER_IRPT_INTR   XPAR_SCUTIMER_INTR            // 定时器中断 ID// SCU Timer 时钟频率 = CPU 时钟 / 2 = 333 MHz (假设 CPU = 666 MHz)
// 目标延时 = 200 ms
// 计算公式:LOAD_VALUE = T(s) * Freq - 1
//          = 0.2 * 333,000,000 - 1 ≈ 66,599,999
//          = 0x3F83C3F
#define TIMER_LOAD_VALUE  0x03F83C3F  // 定时器装载值,对应周期约 200ms//========================= 全局实例 =========================//XScuGic   Intc;    // 中断控制器实例
XScuTimer Timer;   // SCU 定时器实例//========================= 工具函数 =========================///*** @brief 获取当前毫秒数 (基于 ARM 全局计数器)*/
uint32_t BspGetMillis(void)
{XTime t;XTime_GetTime(&t);uint32_t ms = (uint32_t)(t / (COUNTS_PER_SECOND / 1000));return ms;
}//========================= 定时器初始化 =========================///*** @brief 初始化 SCU 定时器*/
int timer_init(XScuTimer *timer_ptr)
{int status;// 查找定时器配置XScuTimer_Config *timer_cfg_ptr = XScuTimer_LookupConfig(TIMER_DEVICE_ID);if (timer_cfg_ptr == NULL)return XST_FAILURE;// 初始化定时器实例status = XScuTimer_CfgInitialize(timer_ptr,timer_cfg_ptr,timer_cfg_ptr->BaseAddr);if (status != XST_SUCCESS)return XST_FAILURE;// 设置定时器周期XScuTimer_LoadTimer(timer_ptr, TIMER_LOAD_VALUE);// 设置为自动重载模式 (到期后自动重新装载)XScuTimer_EnableAutoReload(timer_ptr);return XST_SUCCESS;
}//========================= 中断服务函数 =========================///*** @brief 定时器中断处理函数*/
void timer_intr_handler(void *CallBackRef)
{static int toggle = 0;  // 翻转标志,用于显示状态XScuTimer *timer_ptr = (XScuTimer *)CallBackRef;// 打印当前时间和翻转状态xil_printf("%u ms  state=%d\r\n", BspGetMillis(), (toggle ^= 1));// 清除定时器中断标志位XScuTimer_ClearInterruptStatus(timer_ptr);
}//========================= 中断初始化 =========================///*** @brief 初始化中断控制器并注册定时器中断*/
void timer_intr_init(XScuGic *intc_ptr, XScuTimer *timer_ptr)
{// 查找 GIC 配置XScuGic_Config *intc_cfg_ptr = XScuGic_LookupConfig(INTC_DEVICE_ID);// 初始化 GICXScuGic_CfgInitialize(intc_ptr,intc_cfg_ptr,intc_cfg_ptr->CpuBaseAddress);// 注册异常处理函数 (把 CPU 的中断入口指向 GIC 驱动)Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_INT,(Xil_ExceptionHandler)XScuGic_InterruptHandler,intc_ptr);Xil_ExceptionEnable();  // 使能 CPU 中断// 连接定时器中断到 GICXScuGic_Connect(intc_ptr,TIMER_IRPT_INTR,(Xil_ExceptionHandler)timer_intr_handler,(void *)timer_ptr);// 使能定时器中断 (GIC 和 SCU Timer 本身)XScuGic_Enable(intc_ptr, TIMER_IRPT_INTR);XScuTimer_EnableInterrupt(timer_ptr);
}//========================= 主函数 =========================//
int main(void)
{int status;xil_printf("SCU Timer Interrupt Test Start\r\n");// 初始化定时器status = timer_init(&Timer);if (status != XST_SUCCESS) {xil_printf("Timer Initialization Failed\r\n");return XST_FAILURE;}// 初始化中断timer_intr_init(&Intc, &Timer);// 启动定时器XScuTimer_Start(&Timer);// 主循环空转,靠中断驱动while (1);return 0;
}

测试结果

在这里插入图片描述

http://www.dtcms.com/a/522794.html

相关文章:

  • 房地产网站建设联系方式做瑷网站
  • 模板建站ftp上传不了wordpress
  • 网站开发用什么网站WordPress获取文章总数
  • 上海专业网站制作开发网站请及时续费
  • 可以直接进入的舆情网站wordpress主题dux 5.0
  • 怎样在领英上做公司网站做家政服务网站
  • 怎么做网站教程 用的工具朋友圈软文范例
  • 网站建设丿金手指专业上海传媒公司在哪个区多
  • 文档管理软件seo为什么要进行外部优化
  • 合肥企业网站建设专家百度关键词搜索怎么弄
  • 东阳做网站的公司wordpress 弹框
  • 网站与网络的区别建设电子商务网站流程图
  • 怎么做旅店网站网站转化率分析工具
  • asp网站 seo淮北做网站电话
  • 网站做等保是什么意思广告发布需要许可证吗
  • 河北省住房城乡建设厅网站世界500强企业logo
  • 手机网站建设哪家好如何修改代码wordpress
  • ci框架建设网站案例优秀网站建设服务
  • 网站 盈利东莞人才招聘网58
  • 手机建个人网站wordpress 搜索mysql
  • idc销售网站模板教育培训网站建设方案
  • 网站备案密码有什么用北京病例最新消息今天
  • 单位如何建设网站wordpress+小说+采集
  • 设计站网址建立快捷方式
  • 药企做网站学做西点的网站
  • 德阳市建设局网站地址如何发布自己的网站
  • 把自己做的网站开放到外网怎样建一个自己的网站
  • 建设银行官方网站个人系统板块修改刷链接浏览量网站
  • 学生网站建设首页wordpress技术博客
  • 什么网站开发外贸客户上海十大保安公司排名