win10 设置休眠和睡眠的 *** 作方法如下:
1、在电脑桌面上空白处,鼠标右键“个性化”。桐运
2、然后选择右下角的“屏幕保护程序”。
3、在幕保护程序窗口中点击下面的“更改电源设置”然后选择“更改计划设置”。
4、把关闭显示器和使计算机进入睡眠状态都选困判择要设定的时间即可。
5、最后点击下面的保存修改,电脑就会在设定的时间内会处于休眠或者睡局尺梁眠的状态了
目前来看,cctalk并没有官方提供深色模式的选项。不过,一些第三方应橡扰用程序可能提供了cctalk的深色模式功能。另外,如果您颂毁使用的是iPhone或Android手机,可以考虑在系统级别启用深野如备色模式,这样cctalk等应用程序也会自动跟随系统颜色模式进行调整。无论如何,深色模式旨在减少屏幕对眼睛的刺激,有利于保护视力和提高使用效率cc2530中包含有1个睡眠定时器和3个普通定时器。本文主要记录自己对定时器1、3、4的理解,好记性不如烂笔头。定时器1:
主要功能为:
1. 16位定时器
2. 五个捕获/比较功能
3. 自由运行、模模式或者正数/倒数计数 *** 作
4. 时钟分频系数:1、8、32、128.
5. 在每个捕获/比较和最终计数上生成中断请求。
中断的分析和注意事项:
定时器1中能够产生中断的事件主要有以下三种:
1) 计数器达到最终计数值(溢出或者倒数计数回到零);
2) 输入捕获事件;
3) 输出比较事件;
以上三种中断事件的中断使能是如裂敬何设置?相应的中断标志又是什么?
使能定时器1的中断,要设弯扒置以下两地方:
1) 相应中断屏蔽位
2) IEN1.T1EN
相应的,中断屏蔽位为:
普通计数溢出事件的中断屏蔽位为:TIMIF.OVFIM(复位后默认为1,即使能)。
n个通道的输入捕获/输出比较事件的中断屏蔽位为:T1CCTLn.IM(复位后默认为1,即使能)。
产生中断后的中断标志位如下:
1)普通计数溢出事件的中断标志位:T1STAT.OVFIF。
2) n个通道的输入捕获/输出比较事件的中断标志位为:T1STAT.CHxIF。
3) IEN1.T1EN的中断标志为:IRCON.T1IF。(在调用中断服务程序时,需要手动清零)
定时器 1 中断相关设置
定时器 1 相关事件
使能中断
相应中断标志
中断屏蔽位
普通计数溢出事件
TIMIF.OVFIM
IEN1.T1EN
T1STAT.OVFIF
IRCON.T1IF
5 个通道输入捕获 / 输出比较事件
T1CCTLn.IM
IEN1.T1EN
T1STAT.CHxIF
IRCON.T1IF
应用场景一: 自由运行模式,计数器从0开始计数,到达0xFFFF时,溢出,设置标志,计数器载入0重新计数。
由于是普通定时器计数溢出事件,所以定时器的设置为:
1) 开启中断
TIMIF.OVFIM = 1;(上电默认为1,即使能)
IEN1.T1EN = 1;
2) 中断标志位
T1STAT.OVFIF
IRCON.T1IF(在调用中断服务程序时,需要手动清零)
应用场景二: 模模式,计数器从0开始计数,到达T1CC0L T1CC0H设置的比较值后,溢出,产生中断。(为了产生周期不为0xFFFF的应用程序)
使用模模式时,必须要开启通道0的输出比较功能,所以,此时不仅仅只是简单的中断溢出。主要的注意事项如下:
1) 模模式需要开启通道0的输出比较模式,否则计数器到了0xFFFF时,才会产生溢出中断,也就是说如果没有设置通道0的输出比较模式,计数器的值到了T1CC0L
T1CC0H设置的比较值后也不会产生溢出中断。
2) T1的模模式不是普通的溢出中断,和连续计数模式不同,它必须设置通道0的输出比较功能,使能中断时,也是埋源昌使能通道0的输出比较中断屏蔽位。产生中断时的中断
标志也是通道0的输出比较中断标志,而不是计数溢出标志。
故定时器的使用设置为:
1) 开启中断
T1CCTL0.IM
= 1;
IEN1.T1EN = 1;
2) 中断标志位
IRCON.T1IF
( 在中断服务例程中需手动清零)
T1STAT.CH0I F
T1STAT.OVFIF
( 经调试,该标志位没有置1,依旧为0)
模模式例程:
// 定时器1模模式初始化
void halTimer1nit(uint16 cycles)
{
uint16 compareValue
// 分频系数128,设置为模模式
T1CTL |= 0x0C
compareValue = cycles*8
// 设置比较值
T1CC0H = HI_UINT16(compareValue)
T1CC0L = LO_UINT16(compareValue)
// 设置通道0输出比较功能,开启相应中断
T1CCTL0.IM
= 1;
T1CCTL0 = 0x44
// 清除中断标志位,关闭中断
T1STAT &= ~0x01// T1STAT.CH1IF = 0
IEN1 &= ~0x02// IEN1.T1EN = 0
}
// 定时器1模模式中断服务程序
#pragma vector = T1_VECTOR//定时器1
__interrupt void T1_ISR(void)
{
if(T1STAT.CH0IF)
// 产生中断
// 清除标志
T1STAT.CH0IF = 0;
IRCON.T1IF = 0;
// To Do...
}
定时器3和4的使用方法和定时器1类似。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)