OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9488|回复: 11

求助来了,各位老师。GD32F103怎么进入睡眠模式,不是ST!囧

[复制链接]

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
发表于 2014-6-9 22:48:48 | 显示全部楼层 |阅读模式
国产的GD32F103,大神有了解的吗?看了它的数据手册,不知道怎么进入睡眠模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-6-10 09:50:08 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
好的,试试。本来STM就不是很熟悉啊。。。
回复 支持 1 反对 0

使用道具 举报

0

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2014-5-4
在线时间
0 小时
发表于 2014-6-10 12:43:19 | 显示全部楼层
GD32F103三种低功耗模式代码:
1、进入sleep模式,就用以下三行代码就可以了。
*(u32*)0xE000ED10 &= ~(1<<2);    //SLEEPDEEP =0  
*(u32*)0xE000ED10 &= ~(1<<1);   //SLEEPONEXIT =0     
__WFI(); 

2、进入stop模式,
PWR_EnterSTOPMode( WR_Regulator_LowPower , WR_STOPEntry_WFI);
不过要事先开PWR时钟:RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR  , ENABLE);

3、进入standby模式,
PWR_EnterSTANDBYMode();
同样事先开PWR时钟:RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR  , ENABLE);

唤醒方式:跟ST一样,sleep和stop通过任一中断或者事件就可以唤醒,唤醒过程是自动的,standby模式一般多用wake up引脚的上升沿还有RTC闹钟事件、IWDG或者直接按复位键。
回复 支持 1 反对 0

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-6-9 22:51:16 | 显示全部楼层
手册上只是介绍了sleep mode、deep sleep mode、standby mode的大概情况!没有像ST那样详细
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-9 22:53:04 | 显示全部楼层
应该是 完全和ST的一样的方法
你直接下载STM32的代码,测试下试试.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-6-10 12:57:45 | 显示全部楼层
回复【5楼】cdshkf:
---------------------------------
学习了,唤醒方式手册上有介绍。现在找到一个例程,先学习学习
回复 支持 反对

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-6-10 14:06:46 | 显示全部楼层
回复【5楼】cdshkf:
---------------------------------
    GPIO_InitTypeDef  GPIO_InitStructure;     
NVIC_InitTypeDef NVIC_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IPD;
GPIO_Init(GPIOA, &GPIO_InitStructure);
    
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);
             EXTI_InitStructure.EXTI_Line = EXTI_Line0;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;  
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);

NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; 
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2; 
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; 
NVIC_Init(&NVIC_InitStructure); 
 不是wake up上升沿唤醒吗?为什么GPIO mode还是GPIO_Mode_IPD?求大神指教
回复 支持 反对

使用道具 举报

0

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2014-5-4
在线时间
0 小时
发表于 2014-6-10 14:21:13 | 显示全部楼层
回复【7楼】Chaplin:
---------------------------------
GPIO mode是配置引脚的输入方式,不管是GPIO_Mode_IPD还是GPIO_Mode_IPU,这个只是引脚的上拉和下拉方式,跟输入信号的上升沿和下降沿没有关系。所以无需管这个,程序只要能正常唤醒就OK。
顺便问一下楼猪,你这段代码是在哪儿搞的,我怎么看着这么眼熟。
回复 支持 反对

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-6-10 15:08:48 | 显示全部楼层
回复【8楼】cdshkf:
---------------------------------
原子哥的战舰
回复 支持 反对

使用道具 举报

0

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2014-5-4
在线时间
0 小时
发表于 2014-6-10 15:16:17 | 显示全部楼层
回复【9楼】Chaplin:
---------------------------------
soga,这段代码我在GD32F103的板子上跑过,唤醒是完全没有问题的,楼猪可以放心测试。
回复 支持 反对

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-6-10 18:25:36 | 显示全部楼层
回复【10楼】cdshkf:
---------------------------------
。。。。。。。。。。。。。。。。。已经试了
回复 支持 反对

使用道具 举报

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
发表于 2015-10-27 09:21:25 | 显示全部楼层
回复【5楼】cdshkf:
---------------------------------
gd32 我无法进入待机模式能分享一下你gd32的待机模式代码吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 05:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表