我把唤醒的道具没有刀剑英雄宠物激活道具,关闭了,怎么办?

stm8s的halt模式问题 - STM8 - 意法半导体STM32/STM8技术社区
后使用快捷导航没有帐号?
查看: 5723|回复: 14
stm8s的halt模式问题
在线时间13 小时
主题帖子好友
初级会员, 积分 185, 距离下一级还需 15 积分
初级会员, 积分 185, 距离下一级还需 15 积分
本帖最后由 saefra 于
14:50 编辑
新手做stm8的小东西,芯片是stm8s103f3,做的糊里糊涂的,问题如下:
用到了halt模式,仿照网上已有的一些资料写了点东西,但进入halt关掉的一些东西(time,adc等),在外部中断进来唤醒后,其他的大概还正常但time和adc是没有工作了的。
有关程序如下:
中断部分,我直接从中断进halt也不知道行不行,下板子上cheshi
#pragma vector=8
__interrupt void EXTI_PORTD_IRQHandler(void)
& && &&&BitStatus bit_
& && &&&bit_status = GPIO_ReadInputPin(GPIOD, ggm);
& && &&&if (bit_status == RESET)&&//SET or RESET
& && && &&&CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
& && &Buttom_Init();&&
& & ADC_Init();
& & Tim1_Init();
& & LED_Init();
& && && && && &tal=0;
& && && && && & GPIO_WriteHigh(GPIOA, abcd);
& && && && && & GPIO_WriteHigh(GPIOD, led);
& && && && && && &ADC2_DeInit();
& && && && && && & TIM1_DeInit();
& && && && && && &&&GPIO_DeInit(GPIOA);
& && && && && & GPIO_DeInit(GPIOB);
& && && && && & GPIO_DeInit(GPIOC);
& && && && && & GPIO_DeInit(GPIOD);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER3,DISABLE);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1,DISABLE);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_ADC,DISABLE);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER2,DISABLE);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER4,DISABLE);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_AWU,DISABLE);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_I2C,DISABLE);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART1,DISABLE);
&&GPIO_Init(GPIOD, led, GPIO_MODE_OUT_PP_LOW_FAST);
&&GPIO_Init(GPIOD, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, GPIO_MODE_IN_PU_NO_IT);
&&GPIO_Init(GPIOA, abcd, GPIO_MODE_OUT_PP_LOW_FAST);&&
&&GPIO_Init(GPIOA,GPIO_PIN_2|GPIO_PIN_3,GPIO_MODE_OUT_PP_LOW_SLOW);
&&GPIO_Init(GPIOB,GPIO_PIN_4|GPIO_PIN_5,GPIO_MODE_IN_PU_NO_IT);&&
&&GPIO_Init(GPIOC,GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7,GPIO_MODE_IN_PU_NO_IT);
&&Buttom_Init();
&&enableInterrupts();
&&halt() ;
}应该是没说清楚的,望大牛们指导???
在线时间570 小时
ST金币1653
主题帖子好友
在while(1)之前调用halt() ;
中断中不要增加太多的处理,只处理中断事件就可以了。
while(1)里面加LED闪烁。
理论在while(1)之前进入休眠,外部中断唤醒以后,直接执行后面的代码。
那该如何再次进入低功耗状态呢&
在线时间13 小时
主题帖子好友
初级会员, 积分 185, 距离下一级还需 15 积分
初级会员, 积分 185, 距离下一级还需 15 积分
本帖最后由 saefra 于
10:28 编辑
还有一个问题就是adc转换出来,调电位器最多只能1分钟的样子有效,超过后就会一直延时。。。
附上工程~~~
在线时间570 小时
ST金币1653
主题帖子好友
你按照我说的改,不要在中断里面加休眠。
在线时间13 小时
主题帖子好友
初级会员, 积分 185, 距离下一级还需 15 积分
初级会员, 积分 185, 距离下一级还需 15 积分
额。。。传错工程了,这个是没加休眠的
在线时间13 小时
主题帖子好友
初级会员, 积分 185, 距离下一级还需 15 积分
初级会员, 积分 185, 距离下一级还需 15 积分
本帖最后由 saefra 于
20:08 编辑
int main(void)
& &/*设置内部时钟16M为主时钟*/
& &CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
& && && & ADC_Init();
& && & Tim1_Init();
& & LED_Init();&&
& && && &ADC1_DeInit();
& && && && && && & TIM1_DeInit();
& && && && && && & /* GPIO_DeInit(GPIOA);*/
& && && && && & GPIO_DeInit(GPIOB);
& && && && && & GPIO_DeInit(GPIOC);
& && && && && & GPIO_DeInit(GPIOD);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER3,DISABLE);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1,DISABLE);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_ADC,DISABLE);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER2,DISABLE);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER4,DISABLE);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_AWU,DISABLE);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_I2C,DISABLE);
&&CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART1,DISABLE);
& &//&&|GPIO_PIN_5& &&&
&&GPIO_Init(GPIOD, led, GPIO_MODE_OUT_PP_LOW_FAST);
&&GPIO_Init(GPIOD, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, GPIO_MODE_IN_PU_NO_IT);
&&GPIO_Init(GPIOA, abcd, GPIO_MODE_OUT_PP_LOW_FAST);& &
&&GPIO_Init(GPIOA,GPIO_PIN_2|GPIO_PIN_3,GPIO_MODE_OUT_PP_LOW_SLOW);&&
&&GPIO_Init(GPIOB,GPIO_PIN_4|GPIO_PIN_5,GPIO_MODE_IN_PU_NO_IT);&&
&&GPIO_Init(GPIOC,GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7,GPIO_MODE_IN_PU_NO_IT);&&
& & enableInterrupts();
&&halt() ;//进入停机
在线时间13 小时
主题帖子好友
初级会员, 积分 185, 距离下一级还需 15 积分
初级会员, 积分 185, 距离下一级还需 15 积分
我把程序改成这个样子以后,while里面加了led闪烁,唤醒以后会进入while,但是单步调试发现没再进过adc和time1,估计还有其他东西也没唤醒也不一定
在线时间13 小时
主题帖子好友
初级会员, 积分 185, 距离下一级还需 15 积分
初级会员, 积分 185, 距离下一级还需 15 积分
好吧,彻底迷糊了???单步的时候是中断唤醒后进while正常的,但是程序下进板子去给感应中断唤醒以后led就常亮(不管delay写什么或者屏蔽掉delay也好都常亮)
& & GPIO_WriteHigh(GPIOD, GPIO_PIN_4);
& & // Delay(101);
& &&&GPIO_WriteLow(GPIOD, GPIO_PIN_4);
& && &Delay(101);
在线时间570 小时
ST金币1653
主题帖子好友
// Delay(101);
说明这个时间太短了。其实发生变化了。指示你看不到。去掉就更看不到了。
你delay的函数怎么写的?
唤醒以后重新初始化一下ADC和TIMER。
在线时间13 小时
主题帖子好友
初级会员, 积分 185, 距离下一级还需 15 积分
初级会员, 积分 185, 距离下一级还需 15 积分
好的,我再改改
其实:唤醒以后重新初始化一下ADC和TIMER。我以前改过,没什么改进,不过我再试试
然后那个delay的话就是这个
void Delay(u16 nCount)
&&/* Decrement nCount value */
&&while (nCount != 0)
& & nCount--;
如果是时间太短的话,写低也是一样的延时啊。。。
站长推荐 /2
,同时大家也可以下载电子版学习
Tel: 3-8064
备案号: 苏ICP备号-2
|||意法半导体STM32/STM8技术社区
Powered by后使用快捷导航没有帐号?
注册成为酷七会员,享受更多独家内容。
才可以下载或查看,没有帐号?
升级后,我的不知道怎么关闭双击唤醒了啊?
发帖奖励(回帖人越多,所获奖励越高)
Lv8 专业软粉, 积分 3377, 距离下一级还需 1623 积分
Lv8 专业软粉
我都无法开启了。
Lv12 骨灰软粉
设置--其他--触摸
或者是开始屏幕&&右滑 应用列表& && &touch
我的没有其它,也没有touch&
我的都不能开启了
Lv6 中级软粉, 积分 1677, 距离下一级还需 323 积分
Lv6 中级软粉
我找不到触摸了,重置一次后就找不到了,现在我也想知道怎么关闭
Lv5 初级软粉, 积分 970, 距离下一级还需 310 积分
Lv5 初级软粉
难道你不是从8.1升上去的
115020tgxc51ge9blqf8rj.jpg (12.33 KB, 下载次数: 0)
11:50 上传
Lv4 见习软粉, 积分 507, 距离下一级还需 133 积分
Lv4 见习软粉
& && && & touch& &&&找这个单词点进去。
我重置后就没这个单词了,求解。&
Lv8 专业软粉, 积分 3535, 距离下一级还需 1465 积分
Lv8 专业软粉
touch& &&&找这个单词点进去。
我重置后就没这个单词了,求解。
那就上设置里去看看,不行就再重置,
我的重置了好多遍,才出不多正常&
Lv2 了解微软, 积分 103, 距离下一级还需 17 积分
Lv2 了解微软
巨硬 发表于
设置--其他--触摸
或者是开始屏幕&&右滑 应用列表& && &touch
我的没有其它,也没有touch
那你就关不掉了。。。&
Lv12 骨灰软粉
我的没有其它,也没有touch
那你就关不掉了。。。
Lv5 初级软粉, 积分 1270, 距离下一级还需 10 积分
Lv5 初级软粉
升10第三版后,升级成功后概览,触摸等原来在设置里的“其他”…!都在应用列表里!!!
关键是不能重置,重置后在商店更新后就没有了…………………没有了…没有了……所以…回滚吧。我也是受不了这个震动…回滚le!一切顺利!现在8.1最新版………不过我的1320还是他妈的cyan……
Lv5 初级软粉, 积分 1270, 距离下一级还需 10 积分
Lv5 初级软粉
koda626 发表于
我重置后就没这个单词了,求解。
重置后还有的,你肯定是在应用商店更新了。更新后就没有了……
Lv5 初级软粉, 积分 1270, 距离下一级还需 10 积分
Lv5 初级软粉
dongwenlong 发表于
touch& &&&找这个单词点进去。
更新应用商店后,原来“其他”里的都没了…………哈哈…回滚吧
Lv4 见习软粉, 积分 507, 距离下一级还需 133 积分
Lv4 见习软粉
koda626 发表于
我重置后就没这个单词了,求解。
& &那就上设置里去看看,不行就再重置,&&我的重置了好多遍,才出不多正常
(Lv2 了解微软)
最专业的超人气windows10论坛
广告投放:&
合作邮箱:&
公司地址:&北京市海淀区上地创业路17号
Powered by Discuz!

参考资料

 

随机推荐