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

网站建设服务代理商关键词排名点击软件首页

网站建设服务代理商,关键词排名点击软件首页,强化 门户网站建设,thinkphp开源cms系统文章目录 1 实验任务2 系统框图3 软件设计 1 实验任务 本实验任务是通过CPU私有定时器的中断,每 200ms 控制一次PS LED灯的亮灭。 2 系统框图 3 软件设计 注意事项: 定时器中断在收到中断后,只需清除中断状态,无需禁用中断、启…

文章目录

  • 1 实验任务
  • 2 系统框图
  • 3 软件设计

1 实验任务

本实验任务是通过CPU私有定时器的中断,每 200ms 控制一次PS LED灯的亮灭。

2 系统框图

在这里插入图片描述

3 软件设计

注意事项:

  1. 定时器中断在收到中断后,只需清除中断状态,无需禁用中断、启动中断操作。
/***************************** Include Files ********************************/
#include <stdio.h>
#include "xparameters.h"
#include "xgpiops.h"
#include "xscutimer.h"
#include "xscugic.h"
#include "xil_exception.h"
#include "xstatus.h"
/************************** Constant Definitions ****************************/
#define GPIO_DEVICE_ID  	XPAR_XGPIOPS_0_DEVICE_ID
#define TIMER_DEVICE_ID		XPAR_XSCUTIMER_0_DEVICE_ID
#define INTC_DEVICE_ID		XPAR_SCUGIC_SINGLE_DEVICE_ID#define TIMER_INTR_ID	    XPAR_SCUTIMER_INTR#define PS_LED0_GPIO_PIN	0#define TIMER_LOAD_VALUE	XPAR_CPU_CORTEXA9_0_CPU_CLK_FREQ_HZ / 2
/**************************** Type Definitions ******************************//***************** Macros (Inline Functions) Definitions ********************//************************** Function Prototypes *****************************/
int  GpioInit(XGpioPs* GpioInstPtr);
int  TimerInit(XScuTimer* TimerInstPtr);
int  SetupIntrSystem(XScuGic* IntcInstPtr, XScuTimer* TimerInstPtr, u16 TimerIntrId);
void TimerIntrHandler(void *CallBackRef);
/************************** Variable Definitions ****************************/
XGpioPs   GpioInst;
XScuTimer TimerInst;
XScuGic   IntcInst;u32 TimeOut = 0;
/****************************************************************************/int GpioInit(XGpioPs* GpioInstPtr)
{//int Status;XGpioPs_Config* GpioPsConfigPtr;//GpioPsConfigPtr = XGpioPs_LookupConfig(GPIO_DEVICE_ID);Status = XGpioPs_CfgInitialize(GpioInstPtr, GpioPsConfigPtr, GpioPsConfigPtr->BaseAddr);if (Status != XST_SUCCESS) {return XST_FAILURE;}// 设置输出XGpioPs_SetDirectionPin(GpioInstPtr, PS_LED0_GPIO_PIN, 1);// 使能输出XGpioPs_SetOutputEnablePin(GpioInstPtr, PS_LED0_GPIO_PIN, 1);//return XST_SUCCESS;
}int  TimerInit(XScuTimer* TimerInstPtr)
{//int Status;XScuTimer_Config* TimerConfigPtr;//TimerConfigPtr = XScuTimer_LookupConfig(TIMER_DEVICE_ID);Status = XScuTimer_CfgInitialize(TimerInstPtr, TimerConfigPtr, TimerConfigPtr->BaseAddr);if (Status != XST_SUCCESS) {return XST_FAILURE;}// 自动加载XScuTimer_EnableAutoReload(TimerInstPtr);// 加载初值XScuTimer_LoadTimer(TimerInstPtr, TIMER_LOAD_VALUE);// 使能中断XScuTimer_EnableInterrupt(TimerInstPtr);//return XST_SUCCESS;
}int  SetupIntrSystem(XScuGic* IntcInstPtr, XScuTimer* TimerInstPtr, u16 TimerIntrId)
{//int Status;XScuGic_Config* IntcConfigPtr;// step1. 初始化中断控制器GICIntcConfigPtr= XScuGic_LookupConfig(INTC_DEVICE_ID);if (NULL == IntcConfigPtr) {return XST_FAILURE;}Status = XScuGic_CfgInitialize(IntcInstPtr, IntcConfigPtr, IntcConfigPtr->CpuBaseAddress);if (Status != XST_SUCCESS) {return XST_FAILURE;}// step2. 在处理器中初始化异常处理功能Xil_ExceptionInit();// step3. 在处理器中为IRQ中断异常注册处理程序Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_INT, (Xil_ExceptionHandler)XScuGic_InterruptHandler, IntcInstPtr);// step4. 在处理器中使能IRQ中断异常Xil_ExceptionEnableMask(XIL_EXCEPTION_IRQ);// step5. 在GIC中为外设注册中断处理程序Status = XScuGic_Connect(IntcInstPtr, TimerIntrId, (Xil_ExceptionHandler)TimerIntrHandler, (void *)TimerInstPtr);if (Status != XST_SUCCESS) {return XST_FAILURE;}// step6. 在GIC中设置外设中断的优先级和触发类型
//	XScuGic_SetPriorityTriggerType();// step7. 在GIC中使能外设中断XScuGic_Enable(IntcInstPtr, TimerIntrId);//return XST_SUCCESS;
}void TimerIntrHandler(void *CallBackRef)
{//XScuTimer* TimerInstPtr = (XScuTimer*)CallBackRef;//if (XScuTimer_IsExpired(TimerInstPtr)){XScuTimer_ClearInterruptStatus(TimerInstPtr);printf("Timer is timeout.\n");TimeOut = 1;}//return;
}int main()
{//int Status;u32 LedValue;//printf("Timter Interrupt Control LED Test\n");//Status = GpioInit(&GpioInst);if (Status == XST_FAILURE) {printf("GPIO Init Failed.\n");}//Status = TimerInit(&TimerInst);if (Status == XST_FAILURE) {printf("Timer Init Failed.\n");}//Status = SetupIntrSystem(&IntcInst, &TimerInst, TIMER_INTR_ID);if (Status == XST_FAILURE) {printf("Setup Interrupt System Failed.\n");}// 启动定时器XScuTimer_Start(&TimerInst);//while(1){if(TimeOut==1){LedValue = ~XGpioPs_ReadPin(&GpioInst, PS_LED0_GPIO_PIN);XGpioPs_WritePin(&GpioInst, PS_LED0_GPIO_PIN, LedValue);TimeOut = 0;}}//return 0;
}
http://www.dtcms.com/wzjs/544028.html

相关文章:

  • 源码交易网站源码上海人才招聘网官网
  • 能打开的网站如何在天气预报网站做引流
  • 智能系统免费的关键词优化工具
  • 江苏华柯建设发展有限公司网站青岛网站定做
  • 网站建设推来客在哪里中山网站建设文化价位
  • 开发网站的费用属于什么费用手机网站实例
  • 艺术设计专业灵感推荐网站电子商务网站的设计要求包括
  • 一台服务器可以建设几个网站机构协会
  • 玉树营销网站建设服务流量卡分销平台
  • 做网站朋友圈广告的文案怎么写可以下载新闻视频的网站
  • 基本信息型网站有哪些软件开发工程师的要求
  • 专业推广网站wordpress 注册推广
  • thinkphp开发的网站建设局属于什么行业
  • flas网站开发工具电商平台的设计
  • 无锡哪里做网站设计之家logo设计
  • 门业网站模板设计需要了解的网站
  • 电商网站开发目的wordpress excel导入
  • 兰州做网站或小程序湖南长沙招聘信息最新招聘2022
  • 青岛建站模板厂家商派商城网站建设
  • 衡阳市建设学校官方网站国内免备案网站空间
  • 企业网站架构公司注册资金减少意味着什么
  • 国内做网站的公司湖南建筑信息网湖南建设人力资源
  • 旅游网站建设流程步骤求一个2023年没封的
  • 网站建设公司的公众号南通的网站建设
  • 宇宙企画网站阿里云wordpress菜鸟
  • 有哪些做软件的网站有哪些如何制作apple pencil
  • 网页设计师联盟网站怎么小语种网站怎么做
  • 网站建设主要工作流程wordpress 天气插件
  • 天津电商网站制作阿里云免费域名注册
  • 网站建设用的是什么软件在货源网站自己拿样 加盟 做代理 哪个比较好?