如何设置活动定时器的时间

定义:活动定时器就是设备处于idle状态下的定时器,这个定时器的时间决定了设备处于idle状态的周期,也就是决定了多长时间进入PSM状态;

设置:

AT+CPSMS=1,,,01000011,00100001

00100001 中,001 表示以分钟为单位,整个表示的是设置活动定时器的时间为1分钟;

我们在实际测试的时候,可以打开设备功率模式显示:AT+NPSMR=1

可以看到,当cscon=0时开始计时,一分钟后设备上报:+NPSMR:1

表示已经进入了PSM状态;

提醒任务,定是闹钟定时关机,请花三分钟时间仔细阅读本文档,使你对定时器有一定 的了解,从而更方便地使用定时器。 ★注意事项: 1、定时器是使用VB5编译的,所以程序运行需要VB5运行库 (MSVBVM50.DLL)的支持。WIN98以后的操作系统都包含这个文件。 这个文件也可以在WIN98第一版安装盘内的WIN98_33.CAB中找到。 2、有时选择某种时钟款式后会提示缺少字体,这是因为你的WINDOWS 并没有安装定时器所需要的字体。请到我的主页 (http://smalllab.126.com)下载相应的字体。 3、如果用户遇到其它问题,请先查阅定时器目录下的FAQ.TXT。如 果该文件中的说明也不能帮助你解决问题,那么请写信给我,并说 明你使用的定时器版本、WINDOWS版本等等详细情况。 ★定时器特点: 1、独有三种设置提醒时间的方式,令该程序更方便易用。 2、可以设置时间、日期、星期、月份或年份进行定时提醒。 3、全面支持WINDOWS 9X/NT/2000/XP等操作系统定时注销、重启、关 闭计算机及断开网络连接,并可设置强制关机!!! 4、可以定时打开其它程序或其它的文件。 5、支持半点报时、正点报时,支持最上层显示,支持播放提醒声音文 件。 6、附带一个精确至百分之一秒的秒表(计时器),从中可查看Windows 和定时器运行了多长时间。 7、附带系统锁定功能,用户离开计算机时可以暂时锁定计算机。 8、软件连安装程序小于100KB,方便网友下载使用。 ★新手上路: 如果你是新使用定时器的用户,你可以尝试用鼠标双击或右键单击定时 器的主窗口,从弹出的窗口或菜单,你可以使用定时器的大部份功能。 ★命令行命令: 定时器支持以下命令行命令: /logoff 注销系统 /reboot 重新启动计算机 /shutdown 关闭计算机 /hangup 断开网络连接 /force 此参数可与/logoff、/reboot、/shutdown联用,用来设置强制 关机 /after:??:??:??:可将上面几个参数延迟??:??:??时间后执行 例如在命令行中输入:“timer /after:00:30:00 /shutdown”,就会在 启动定时器三十分钟后自动关闭计算机。 注:此功能受防止程序重复运行的限制。 ★扩展功能: 用Ctrl+鼠标右键单击定时器窗口,会弹出一个扩展功能的菜单用户从中 可以进行设置日期、时间;启动屏幕保护;弹出、关闭光驱;重启、关 闭计算机;断开网络连接等等系统操作。 ★版权信息: 1、定时器是一个免费软件。 2、任何人都可以分发和使用本软件,但不得以此作为牟利用途。 3、定时器的使用权归用户,但所有权为作者所有。 ★特别呜谢: 感谢whomi、gk、monkey、china、小林、gwx、陈宗庆、KTAND、冯、 郭金宝、雷、山猫、zhuolijian、赵巍、amw、sun、伟展、hally、 wangnj、zhaocd、lele、cjh、梁广全等,他们给定时器提供了很好的建 议或反馈信息。
### STM32滴答定时器时间片配置与使用 #### 配置基础时钟单位 在RT-Thread中,定义了基本的时间单位用于延时和超时设置,默认情况下频率设定为1000Hz,即周期为1毫秒[^1]。这意味着每次计数代表一毫秒。 对于STM32微控制器而言,在初始化阶段会通过调用`rt_hw_timer_init()`函数来完成硬件定时器的初始化工作。此过程通常涉及选择合适的定时器作为系统滴答源,并对其进行相应的参数配置以满足上述提到的基础时钟需求。 #### 设置滴答中断优先级 为了确保良好的实时性能并减少潜在的影响,应当合理调整SysTick中断相对于其他外设中断的优先级别。由于SysTick负责触发任务间的上下文切换,其优先级应高于大多数常规应用层产生的外部事件,但低于某些关键性的快速响应型ISR(如DMA传输结束通知),从而保障系统的稳定性和及时性[^3]。 #### 实现多线程环境下的时间管理 当运行于Cortex-M系列MCU之上时,程序执行可以区分为主控模式(Main Stack Pointer, MSP)以及用户态(Processing Stack Pointer, PSP)[^2]。然而不论在哪种状态下发生异常或进入中断服务例程(ISR),都将自动切换至MSP栈空间;而在RTOS环境下,则允许开发者利用控制寄存器(Control Register)指定特定线程所使用的堆栈指针形式——只要当前权限等级足够高即可实现这一点。 针对具体的应用场景来说,如果希望创建具有不同时间切片长度的任务实例,可以在编写各独立模块的过程中自定义各自的休眠间隔(sleep interval),并通过API接口向内核注册这些信息。每当到达预设时刻之后,对应的进程便会被唤醒继续执行直至再次达到新的等待条件为止。 ```c // 初始化滴答定时器 void rt_hw_tick_init(void){ SysTick_Config(SystemCoreClock / 1000); // 假定SystemCoreClock=72MHz,则每1ms产生一次中断 } // 定义一个简单的循环体结构体成员变量表示剩余活动周期数目 struct my_task{ int ticks_left; }; // 创建新任务前分配初始值给ticks_left字段... my_task.taskA.ticks_left = 5; // 表明taskA拥有五个连续的工作单元 while (true){ if (--currentTask->ticks_left <= 0){ // 当前任务耗尽所有配额后需重新加载默认值或者终止自身生命周期 currentTask->ticks_left += DEFAULT_TIME_SLICE; // 执行实际业务逻辑部分... } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值