2245|0

821

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

新驱动力MM32F103测试(六)待机模式 [复制链接]

      本次实验是利用MM32F103开发板上的“WKUP”按键及“LED”的“待机唤醒”测试。
一、实验资源
1、MM32F103开发板;
2、KEIL 5.25.2;
3、J-LINK V9;
4、新驱动力提供的开发例程;
5、万用表;

二、实验过程

1、知识准备及硬件连接。
      从用户手册中可以了解到采用ARM Cortex M3核心的MM32F103C8T6芯片在电源管理方面同样有三种低功耗模式,即:
      1、睡眠模式(CPU停止,所有外设包括 CPU 的外设,如 NVIC、系统时钟(SysTick)等仍在运行);
      2、停机模式(所有的时钟都已停止);
      3、待机模式(1.5V 电源关闭);

   
      从上表可以看出,在这三种低功耗模式中当属“待机模式”具有最低的功耗表现,实验待机模式”唤醒的条件利用了“WKUP引脚的上升 沿”。根据原理图,将“WKUP”按键与"VDD"相连,当PA0(WKUP)上出现一个上升沿时系统即会从待机模式”唤醒。



2、程序的实现。
     程序在官方例程上进行了修改,当系统上电后D2点亮3秒后熄灭,系统进入“待机模式”,随后系统便开始监听"WUKA"按键的状态,当“WKUP”按键按下,PA0(WKUP)上出现一个上升沿时系统从待机模式”唤醒,D2点亮工作5秒后再次进入待机模式”,等待下一次“唤醒”。以下是主程序代码:


  1. int main(void)
  2. {     
  3.         u8 i;
  4.         delay_init();       
  5.        
  6.         /* 设置中断优先级分组2*/        
  7.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  8.         LED_Init();                                 
  9.         WKUP_Init();                        //外部中断唤醒待机初始化
  10.        
  11.         for(i=0; i<3; i++)//上电后D2亮3秒,然后熄灭;
  12.         {
  13.                 LED = 0;
  14.                 delay_ms(1000);
  15.         }
  16.         LED = 1;
  17.                
  18.         Sys_Standby();    //进入待机模式
  19.        
  20.         while(1)
  21.         {
  22.                 if(Check_WKUP()==1)//等待WKUP键按下唤醒
  23.                 {
  24.                         for(i=0; i<5; i++)
  25.                         {
  26.                                 LED = 0;
  27.                                 delay_ms(1000);
  28.                         }
  29.                 }
  30.                 else
  31.                         Sys_Standby();//工作5秒后进入待机状态等待下一次唤醒
  32.         }                                                                                            
  33. }       
复制代码



3、实验结果。拔下P13跳线帽将万用表串入,这里使用了“20mA”档位。一张待机;一张唤醒;



4、过程中出现的问题,如下图:

      在网上查了一下,应该是“待机模式”下芯片睡着了。按照想到的方法:先按着“RESET”再“Download”,差不多的时候松开“RESET”就正常干活儿了。松开“RESET”的火侯要拿捏一下,不过也不难试几次就行了。

三、实验总结
      第一次体验“待机模式”,只是在例程基础上进行简单的测试,有很多内在的东西还是不清晰,下来要仔细研究代码并结合手册学习。

此帖出自电机控制论坛
点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表