zoukankan      html  css  js  c++  java
  • 第一次实验: CC2530平台上电源管理与休眠

    1. 实验 CC2530平台上电源管理与休眠

    实验目的:

    1. 加深和巩固学生对于TinyOS编程方法的理解和掌握
    2. 让学生初步的认识TinyOS编程的基础和简单的程序编写
    3. 学生通过本实验能够初步的了解和掌握TinyOS编程的整个过程
    4. 高学生的上机和编程过程中处理具体问题的能力

    实验要求:

    1. 实验要求自己独立的完成
    2. 编写和调试过程中出现的问题记录,并事后总结到报告中
    3. 实验程序调试完成后, 用给定的平台进行测试,由老师检查测试结果,并给予相应的成绩
    4. 在实验报告中回答LedsC,和Leds分别是什么。请在该框架下增加Led频闪命令,即将Led频闪功能以Led接口中的命令函数形式实现。
    5. 实验完成后,要上交实验报告

    实验内容:

    1. 开发一个新的应用,节点每一分种工作5秒,以PM2模式休眠55秒。在工作期间,控制LED1秒为周期闪烁以下述顺序完成这个新应用的开发。
      1. 首先使得应用能够以1秒为周期控制LED闪烁;
      2. 然后在上述基础上加入休眠功能。
      3. 在实验报告中分别给出上述两个阶段的源码

    实验代码

    1)配置文件MySleepAppC.nc

    configuration MyLEDAppC

    { }

    implementation

    {

    components MySleepAppM as App;

    components MainC;

    components LedsC;

    components McuSleepTimerC ;

    components new TimerMilliC() as Timer0;  

    App.Boot -> MainC.Boot;

    App.SleepTimerAlarm -> McuSleepTimerC;

    App.Leds->LedsC;

    App.Timer0->Timer0;

    }

    (2)模块文件MySleepAppM.nc:

    module MySleepAppM

    {

    uses interface Boot;

    uses interface Alarm<T32khz, uint32_t> as SleepTimerAlarm;

    uses interface Timer<TMilli>as Timer0;

    uses interface Leds;

    }

    implementation

    {

    uint8_t i = 0;

    void set_powermode(int mode)//设计电源模式

    {

    int j;

    if(mode < 4)

    {

    SLEEPCMD |=mode;

    PCON = 1;//进入sleepcmd 制定的电源模式,通过中断打断

    for(j = 0 ; j< 4 ; j ++);

    }

    else

    PCON = 0;//系统唤醒

    }

    task void SleepTask()

    {

    EA = 1;

    call SleepTimerAlarm.start(1024*10);

    set_powermode(2);//设置电源模式2

    }

    event void Boot.booted()

    {

    call Leds.led0On();

    call Timer0.startPeriodic(1024);

    }

    event void Timer0.fired()

    {

    i++;

    if(i<=5)

    {

    if(i==5)

    {

    i = 0 ;

    post SleepTask();

    }

    }

    call Leds.led0Toggle();//切换led状态

    }

    async event void SleepTimerAlarm.fired(){}

    }

    (3) Makefile 编译文件

    COMPONENT=MySleepAppC

    include $(MAKERULES)

    实验环境:

    1. 上位机操作系统为WindowsXP,在Cygwin环境下编译
    2. 集成开发环境为Notepad++ 

     

     

    实验报告人:木舟 报告时间2018.11.16

  • 相关阅读:
    Linux上Nginx部署配置--二级域名配置
    Android-Gallery GridView ImageSwitcher 使用
    Android:控件布局(相对布局)RelativeLayout(转)
    Win10 安装msi 提示2502、2503的错误代码 -- 命令提示符(管理员) -- msiexec /package
    storm 入门原理介绍_AboutYUN
    storm入门教程 第一章 前言
    Hbase存储详解
    浅谈设计模式
    Hadoop分布式文件系统--HDFS结构分析
    YARN源码分析(一)-----ApplicationMaster
  • 原文地址:https://www.cnblogs.com/LeonNchu/p/10695733.html
Copyright © 2011-2022 走看看