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

网站全站优化西安优化外包

网站全站优化,西安优化外包,外围网站做代理,推广小程序拿佣金文章目录 1 实验任务2 系统框图3 软件设计 1 实验任务 本实验任务是通过CPU私有定时器来计算按键按下的时间长短。 2 系统框图 参见7.1。 3 软件设计 注意事项: 定时器是递减计数的,需要考虑StartCount<EndCount的情况。 /***********…

文章目录

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

1 实验任务

本实验任务是通过CPU私有定时器来计算按键按下的时间长短。

2 系统框图

参见7.1。

3 软件设计

注意事项:

  1. 定时器是递减计数的,需要考虑StartCount<EndCount的情况。
/***************************** Include Files ********************************/
#include <stdio.h>
#include "xparameters.h"
#include "xgpiops.h"
#include "xscutimer.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 PS_KEY0_GPIO_PIN	50#define TIMER_LOAD_VALUE	0xFFFFFFFF#define TIMER_CLK_FREQ		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);
/************************** Variable Definitions ****************************/
XGpioPs   GpioInst;
XScuTimer TimerInst;u32 StartCount = 0;
u32 EndCount = 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_KEY0_GPIO_PIN, 0);//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);//return XST_SUCCESS;
}int main()
{//int Status;u32 KeyValue;u32 CountDiff;u32 TimerClkFreq = TIMER_CLK_FREQ;float PressedTime;//Status = GpioInit(&GpioInst);if (Status == XST_FAILURE) {printf("GPIO Init Failed.\n");}//Status = TimerInit(&TimerInst);if (Status == XST_FAILURE) {printf("Timer Init Failed.\n");}// 启动定时器XScuTimer_Start(&TimerInst);//printf("Press the key to start timing...\n");//while(1){// 等待按键按下while (1) {KeyValue = XGpioPs_ReadPin(&GpioInst, PS_KEY0_GPIO_PIN);if (KeyValue == 0) { // 按键按下为低电平StartCount = XScuTimer_GetCounterValue(&TimerInst);printf("Key pressed, timing started.\n");break;}}// 等待按键释放while (1) {KeyValue = XGpioPs_ReadPin(&GpioInst, PS_KEY0_GPIO_PIN);if (KeyValue == 1) { // 按键释放为高电平EndCount = XScuTimer_GetCounterValue(&TimerInst);printf("Key released, timing stopped.\n");break;}}// 计算差值if (EndCount > StartCount) {printf("EndCount > StartCount.\n");CountDiff = (0xFFFFFFFF - EndCount) + StartCount + 1; // 注意:定时器会溢出}else {printf("EndCount < StartCount.\n");CountDiff = StartCount - EndCount; // 注意:定时器是递减的}//printf("Key pressed for %lu clock cycles.\n", CountDiff);// 转换为时间PressedTime = (float)CountDiff / TimerClkFreq;printf("Key pressed for %.3f seconds.\n", PressedTime);}//return 0;
}
http://www.tj-hxxt.cn/news/108979.html

相关文章:

  • 广西建设行政主管部门官方网站市场营销手段13种手段
  • 诸城网络推广公司重庆企业站seo
  • 抖音添加小程序怎么赚钱seo网络营销公司
  • b2b行业网站程序附近广告公司
  • 备案网站可以做论坛么常州网站建设制作
  • 微信推送在哪个网站做seo优化外包
  • 平面设计公司电话sem优化师是做什么的
  • wordpress 去除底部淘宝网店的seo主要是什么
  • 做网站的都是直男癌吗bt种子万能搜索神器
  • 佛山正规网站建设报价seo建站工具
  • 浙江网缘电子商务有限公司seo自动优化软件安卓
  • 用服务器ip怎么做网站企业软文怎么写
  • python基于web开发的网站开发微信软文案例
  • 手机网站乱弹关键洞察力
  • 做网站要学什么长春模板建站代理
  • 营销网站建设苏州代发新闻稿的网站
  • 购物网站怎么建立舆情服务网站
  • 服装购物网站排名常见的网络营销手段
  • 怎么宣传自己的平台怎样优化网站排名靠前
  • 二手市场网站开发自己怎么做网站推广
  • 建网站的过程宁波seo外包平台
  • wordpress搭建的知名网站搜索引擎排名优化
  • 当今弹幕网站建设情况太原seo管理
  • 电子商务网站建设自建团队宣传软文范例
  • 沈阳网站关键词优化关键词com
  • 做网站的费用进什么科目独立站平台选哪个好
  • 成都市建设厅网站查询网推是什么意思
  • 东莞市官网网站建设公司网站在线推广
  • 建设好网站热门搜索
  • wordpress收起边栏南昌seo数据监控