垡头做网站的公司网站制作怎样做背景

news/2025/10/7 23:33:07/文章来源:
垡头做网站的公司,网站制作怎样做背景,上海市建设工程咨询奖,数据中心网站模板[摘要] Timer是实时操作系统的一个重要组成部分。本文结合近阶段的学习和实验情况#xff0c;对VxWorks中的时间函数和定时器作了一些探讨。主要介绍了Timer的机制#xff0c;相关的函数#xff0c;并给出了一些具体的例子。 一. Tick Tick是指每秒中定时器中断的次数。POS…[摘要] Timer是实时操作系统的一个重要组成部分。本文结合近阶段的学习和实验情况对VxWorks中的时间函数和定时器作了一些探讨。主要介绍了Timer的机制相关的函数并给出了一些具体的例子。 一. Tick Tick是指每秒中定时器中断的次数。POSIX标准中tick等于50即每20ms定时器中断一次。VxWorks中tick的缺省设置为60。因为实时操作系统中任务的调度和定时器密切相关tick设置是否合理对整个系统性能的影响是很明显的。如果tick太小则系统实时响应能力较差反之如果tick太大则会使得系统的绝大多数资源浪费在不断的任务管理和调度中。 Tick的次数在userconfig.c文件中设置其语句为sysClkRateSet (60)。用户可以更改这个文件然后重新编译BSP库也可以在应用程序中更改。 和tick相关的函数主要有 sysClkRateGet 得到每秒系统的tick数 sysClkRateSet 设置系统的tick数 二. 看门狗时钟Watchdog Timer Watchdog Timer 提供了这样一种机制它使一个C函数和一个时间延迟联系起来。当该时间延迟到达以后系统会调用该C函数。Watchdog Timer采用了中断服务进程ISR的机理当C函数被激活时它是作为ISR运行的。 和Watchdog Timer相关的函数如下 wdCreate 创建Watchdog Timer wdDelete 删除Watchdog Timer wdStart 启动一个Watchdog Timer wdCancel 取消一个正在记数的Watchdog Timer Watchdog使用过程如下首先调用wdCreate创建一个Watchdog Timer, 然后通过wdStart启动该Timer。当tick累计到设定的数字时和它相联系的C函数被激活作为ISR运行。下面是一个例子该例子在延迟3秒后输出一句话“Watchdog timer just expired”。 例 #include VxWorks.h #include logLib.h #include wdLib.h #include taskLib.h /* defines */ #define  SECONDS (3) WDOG_ID myWatchDogId; myTask (void) {  /* Create watchdog */ if ((myWatchDogId wdCreate()) NULL) return (ERROR); /* Set timer to go off in SECONDS - printing a message to stdout */ if (wdStart (myWatchDogId, sysClkRateGet() * SECONDS, logMsg, Watchdog timer just expired\n) ERROR) taskDelay(200); return (ERROR); }  三.POSIX Timer VxWorks提供了和POSIX1003.1b兼容的时间机制。和POSIX Timer相关的主要函数如下 clock_gettime 取得当前时间 clock_settime 设置当前时间 timer_create 创建定时器 timer_connect 将定时器和某个C 函数相连接 timer_cancel 取消某个定时器 timer_delete 删除定时器 timer_settime 设置Timer的中断周期 下面是POSIX Timer的例子。该例子中myTimer()用来初始化Timer将myHandler()和tmID Timer相关联。每隔1秒myHandler()被调用一次。当myHandler()被调用10次后它取消并删除定时器tmID。 POSIX Timer中定义了两个重要的结构它们都在time.h文件中定义。其定义如下 struct timespec { /* interval tv_sec*10**9 tv_nsec */ time_t tv_sec;                 /* seconds */ long tv_nsec;            /* nanoseconds (0 - 1,000,000,000) */ }; struct itimerspec { struct timespec it_interval;          /* timer period (reload value) */ struct timespec it_value;             /* timer expiration*/ }; 例子见附录。 四.小结 VxWorks目前并没有向我们提供系统的文档及开发资料所有的资料只有连机帮助。帮助中对各个系统函数也只作了一个简单的介绍对函数中的输入、输出、返回值以及函数中用到的各种结构、宏定义都没有说明。本文中提供的例子及对函数的理解都是通过实验得出的可能会有曲解或错误的地方欢迎大家批评指正。 为了测试系统函数编制了一些小程序如有兴趣者可和我联系。 VxWorks中并没有系统地讲述其时间机制而是分散在帮助文件的各个地方有兴趣者可参见以下章节 ²  Tornado 1.0.1 online Manuals - VxWorks Programmer’s Guide - Basic Os - Watchdog Timers ²  Tornado 1.0.1 online Manuals - VxWorks Programmer’s Guide- Basic Os - POSIX Clock and Timers ²  Tornado 1.0.1 online Manuals - VxWorks Reference - Libraries and Drivers - ClockLib ²  Tornado 1.0.1 online Manuals - VxWorks Reference - Libraries and Drivers - sysLib ²  Tornado 1.0.1 online Manuals - VxWorks Reference - Libraries and Drivers - tickLib ²  Tornado 1.0.1 online Manuals - VxWorks Reference - Libraries and Drivers - timerLib 五.附录 vxtimer.c /****************************************************************************** 标题: vxtimer.c 功能: VxWorks timer test programm. 说明: This is a test program for VxWorks. In function myTimer, the timer handler--myHandler is connect to the timer tmId. Once the timer reaches the set time, myHandler will be called. It will display some infomration on the screen. To run this program, just compile it and do as follows: ldvxtimer.o sp myTimer 作者: An Yunbo 日期: 1999/7/14           ******************************************************************************/ #include VxWorks.h #include time.h #include timers.h #include syslib.h #include logLib.h #include stdio.h #define COUNT 10 /****************************************************************************** 标题: myhandler 功能: the timer handler. it will be called once the set time is reachted. 格式void myHandler(timer_t tmId, int arg). 输入 timer_t tmId: the Id of the set timer. int arg. A user parameter. 输出 返回值 ******************************************************************************/ void myHandler(timer_t tmId,int arg) { static int iCount0; int iRet; iCount; printf(myHandler is called. the arg is      %d,count is %d\n,arg,iCount); /* When this funciton is called COUNT times, cancle the timer and delete it. */ if(iCountCOUNT) { iRettimer_cancel(tmId); if(iRet!0) { printf(time_cancel error.\n); return; } printf(Timer cancled\n); timer_delete(tmId); if(iRet!0) { printf(time_delete error.\n); return; } } } /************************************************************************* 标题myTimer 功能init timId and connect it with function myHandler. 格式void myTimer(). 输入 输出 返回值 *************************************************************************/ void myTimer() { int iRet; struct timespec     stTp0,stTp1; struct itimerspec stValue; timer_t tmId; /* set current time to 0 second and o nsecond*/ stTp0.tv_sec0; stTp0.tv_nsec0; iRetclock_settime(CLOCK_REALTIME, stTp0); if(iRet!0) { printf(clock_settime error.\n); return; } iRettimer_create(CLOCK_REALTIME,NULL,tmId); iRettimer_create(0,NULL,tmId); if(iRet!0) { printf(timer_create error.\n); return; } /* connect tmId with myHandler*/  iRettimer_connect(tmId,myHandler,10); if(iRet!0) { printf(timer_connect error.\n); return; } /* set interrupt time: 1 second and the first interrup time will be 2 second later */ stValue.it_interval.tv_sec1; stValue.it_interval.tv_nsec0; stValue.it_value.tv_sec2; stValue.it_value.tv_nsec0; iRettimer_settime(tmId,0,stValue,0); if(iRet!0) { printf(timer_settime error.\n); return; } /* sleep 10 second and print the remind time when the time interrupt come*/ stTp0.tv_sec10; stTp0.tv_nsec0; while(1) { nanosleep(stTp0,stTp1); printf(tv_sec %ld tv_nsec %ld\n,stTp1.tv_sec,stTp1.tv_nsec); } }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930969.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ambari安装Hadoop

Ambari界面安装Hadoop集群及其他的组件 Ambari的Web页面安装Hadoop 登入及定义集群名称 使用初始的:admin/admin账号登入到Ambari上,启动安装程序,之后输入集群的名称。bigtop选择组件清单 在这一步选择默认的bigto…

Ambari-bigtop搭建hadoop数据仓库架构

Ambari-bigtop搭建hadoop数据仓库架构我将这些组件分为几大类以便理解:核心存储与资源管理(数据湖基石) HDFS (Hadoop Distributed File System): 分布式文件系统,是整个大数据平台的存储基石。它将以块的形式将海…

安装Ambari集群

1、前置要求 系统环境 系统:4 * Rocky Linux9.6-x86_64-minim 内存:12GB (12288MB) CPU:6 虚拟核 存储:150G 组件: ①Apache Ambari 3.0.0 ②Apache Bigtop 3.3.0 对应的下载链接: Rocky Linux: https://rockyli…

POLIR-Society-Philosophy-Hegels System of Science

POLIR-Society-Philosophy-Hegels System of Science hegel.net - Hegels System of Science, religion and philosophy, philosophy of religion SearchHegels System of Science Enyclopedia Britannica 1911 [PDF V…

Python中的`namedtuple`:命名元组的用法与优势

Python中的namedtuple:命名元组的用法与优势 collections.namedtuple是Python标准库提供的一个实用工具,它创建的是一种带字段名的元组,兼具元组的不可变性和类的可读性,是处理简单数据结构的理想选择。 一、named…

android开发者网站中国最近战争新闻

CortexM3存储器系统 宗旨:技术的学习是有限的,分享的精神是无限的。 CM3 只有一个单一固定的存储器映射。这一点极大地方便了软件在各种 CM3 单片机间的移植。 存储空间的一些位置用于调试组件等私有外设,这个地址段被称为“私有外设区”。私…

一摞python风格的纸牌

一摞python风格的纸牌 import collections# 定义卡牌类 Card = collections.namedtuple(Card, [rank, suit])# 法式扑克牌类 class FrenchDeck:ranks = [str(n) for n in range(2, 11)] + list(JQKA)suits = spades di…

记录一个ubuntu24.04蓝牙不显示不可用的解决方案

记录一个奇怪的ubuntu24.04桌面端的蓝牙标志消失处理办法 现象: 1.蓝牙开关消失,提示plug in a dongle to use bluetooth 2.服务日志提示:Bluetooth service was skipped because of an unmet condition check (Con…

网站开发电脑配置推荐网站流量 seo

客户简介 岗岭集团是中国互联网医药健康的领军企业,致力于用互联网模式和思维方式,改变中国大众“看病难、买药贵”的现状。岗岭集团运用创新的互联网和IT技术提供在线诊疗、购药和健康管理等服务,缩减中间环节,优化供应链&#…

社区门户网站建设方案雅式机械加工网

当我们找工作的时候查看招聘信息发现都需要有自动化测试经验,由此看来测试人员不会一点自动化测试技术都不好意思说自己是做软件测试的。大部分测试人员也都是从使用自动化测试工具、录制回放、测试脚本、开发小工具入门自动化测试的,然后在慢慢的接触 U…

惠州模板网站WordPress wlw设置

简单的说time()与$_SERVER["REQUEST_TIME"]都是获得时间的,但time返回当前的 Unix 时间戳而$_SERVER["REQUEST_TIME"]得到请求开始时的时间戳,稍有区别。1. time() 获取当前的系统时间戳inttime( void ) :返回自从 Unix 纪元(格林威…

directx 与d3d 什么关系

directx 与d3d 什么关系1. DirectX 是一个“套件”DirectX (Direct eXtension) 不是单一库,而是 微软在 Windows 平台上提供的一整套多媒体 API。主要模块包括:Direct3D (D3D) → 3D 图形DirectDraw → 2D 图形(后来…

数据仓库中的“时间旅行者”:深入理解渐变维度(SCD)与拉链表

某电商平台的用户“小美”昨天刚从上海搬到北京,现在住在北京的一家单身公寓里。“小美” 很热爱生活,喜欢烘培烹饪、逛展会、户外旅行等活动。为了满足自己的个性化需求,她选择成为一名电商“重度使用者”。她尤其…

MOVEit网络攻击波及普华永道与安永,供应链安全再响警钟

勒索软件团伙Clop利用MOVEit文件传输服务的零日漏洞发起供应链攻击,导致普华永道、安永等多家知名机构数据泄露。攻击者要求受害企业在6月14日前支付赎金,美国网络安全机构已发布安全补丁。MOVEit网络攻击波及普华永…

Penchick Online Mathematical Olympiad, Qualifying Test 1, III.4

原题链接:https://artofproblemsolving.com/community/c4h3687790_1st_penchick_online_mathematical_olympiad_qualifying_test_1_iii4 解答: 令 , . (统一分母)整理得:代入原式 均值不等式(AM-GM)得到最小 , …

自己做网站别人怎么看见wordpress搬家后全部页面404

目录 1.hdfs读写流程解析 2.hdfs副本机制,三副本原因,副本存放策略 3.hdfs容错机制原理 4.MapReduce执行流程详解 5.spark和mr的区别 6.TopN求法,大数据量无法完全写入内存解决方案,MapReduce实现方法 7.spark部署、调度原…

QBXT2025S刷题 Day6

T2 这道题是树形 \(\mathcal{DP}\),我们注意到如果一个点能和他的一个子树合并成为一个三叉,那么可以是以下四种情况。然后我们的状态记录一下当前有 \(i\) 个链,\(j\) 个倒 "Y"。 这样,我们可以先让 \(…

dx为什么用com

dx为什么用com1. DirectX 的历史背景DirectX 是 90 年代微软为 Windows 游戏/多媒体开发出的 API。当时 Windows 上最通用的组件化技术就是 COM(Component Object Model)。DirectX 各子系统(D3D、DirectSound、Dire…

我的网站现在没有排名_我想问是不是花钱做百度推广就会有排名网站怎么加入百度网盟

一、前言 本人面试已经很久之前了,分享一下我做美团面试官的经历吧。 美团上海面试,2-1及以下美团是不社招的,校招和2-2~2-3社招一般是三面,格外优秀3-1及以上会加签面试。初面技术基础,二面业务感知和技术项目&#…

北京网站制作闪快网站备案手机号

每到周末的时候,我就感到压抑,无处可去,无事可做,我为什么那么在乎别人的看法呢?从不主动和人交流,话少的可怜,我一周说的话手指都能数出来,总是感到尴尬,不说话还常常苦闷别人不理…