Tinyos tutorial learning tips -- lesson 8

原创 2007年10月10日 10:09:00

介绍了比较完整的一个数据采集程序SenseLightToLog,基础是SimpleCmd,增加了两条命令:一是让节点开始采集数据并存在EEPROM中,二是让节点将EEPROM中的数据通过无线发送器传到网络中。

SenseLightToLog

async event result_t ADC.dataReady(uint16_t this_data){

   atomic {

    int p = head;

    bufferPtr[currentBuffer][p] = this_data;

    head = (p+1);

    if (head == maxdata) head = 0; // Wrap around circular buffer

    if (head == 0) {

        post writeTask();

     }

    }

    return SUCCESS;

  }

  task void writeTask() {

    char* ptr;

    atomic {

      ptr = (char*)bufferPtr[currentBuffer];

      currentBuffer ^= 0x01; // Toggle between two buffers

    }

    call LoggerWrite.append(ptr);

  }

在上面的程序中,为什么不直接在ADC.dataReady函数末尾调用LoggerWrite.append来将采集到的数据加入发送队列呢?因为ADC.dataReady是异步(async)的,而LoggerWrite.append不是,所以不能在async函数里被调用,原因是异步函数是抢占式的,它的调用路线图中不可以出现非异步的函数。可行的方法是在async函数(ADC.dataReady)post一个任务,然后在任务处理函数中调用非async函数(LoggerWrite.append),这就是上面程序所采用的方法。

 

# Logger组件:读写EEPROM的内容,比EEPROMReadEEPROMWrite更加方便。

# ByteEEPROM组件:也是读写EEPROM内容的组件,供高速率读写时使用。

 

[机器学习入门] 李宏毅机器学习笔记-10 (Tips for Deep Learning;深度学习小贴士)

[机器学习入门] 李宏毅机器学习笔记-10 (Tips for Deep Learning;深度学习小贴士) PDF VIDEORecipe of Deep Learning 在 train...
  • soulmeetliang
  • soulmeetliang
  • 2017年06月06日 23:00
  • 1743

Windows下TinyOS安装和测试步骤

第一步:安装 Java SE 6 Update 10 RC    1.下载JAVA JDK SE 6       http://www.java.net/download/jdk6/6u1...
  • QQ312619772
  • QQ312619772
  • 2014年07月30日 17:27
  • 651

TinyOS操作系统介绍

TinyOS操作系统介绍        TinyOS操作系统是UC Berkeley(加州大学伯克利分校)开发的开源操作系统,专门为嵌入式无线传感器网络设计,该操作系统基于组件(Component-...
  • liuruiqun
  • liuruiqun
  • 2015年05月05日 16:15
  • 1666

TinyOS平台下一些代码的分析

本文主要研究了TinyOS的环境监测方法,以温湿度传感器为例加以修改,提供了四个具有普适性的输出接口,应用的网络结构是常见的树状网络。本文将以温湿度传感器为例从基层一步步地全面解析TinyOS树状网络...
  • pzh16789
  • pzh16789
  • 2017年05月11日 14:56
  • 472

一步步教你搭建TinyOS2.1.2开发环境

本教程使用的是VirtualBOX +ubuntu14.04+tinyos2.1.2 一步步教大家完成tinyos开发环境的搭建。...
  • a912293097
  • a912293097
  • 2014年07月07日 12:46
  • 4435

Lesson 8: 渲染框架

原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-4-3设置渲染目标: 在Direct3D里渲染,必须要设置渲染的目标。 ...
  • coderNim
  • coderNim
  • 2016年12月14日 01:03
  • 171

ubuntu下tinyos环境的搭建(亲测)

目前用过的最简单的安装步骤,速度也挺快。亲测好用。 郑重提示:安装ubuntu12.04系统,不要更新东西,14.04用过但是可耻的失败了。所以推荐12.04.安装过程可以参考我的上一篇文章。 t...
  • u012322855
  • u012322855
  • 2016年03月06日 14:34
  • 798

Tinyos-2.1.1中各组件的分布总结(查询)表

TinyOS相关组件路径 /opt/tinyos-2.1.1/tos/chips/ /opt/tinyos-2.1.1/tos/chips/ad5200 AD5200C.nc ...
  • lansemuju
  • lansemuju
  • 2013年02月21日 12:30
  • 1635

Lesson 8 几何渲染

SDL2.0 中另一个特性就是硬件加速的原始渲染,我们将用他来呈现一些常见的形状...
  • Ant_look
  • Ant_look
  • 2016年03月19日 16:53
  • 371

Tinyos开发环境的安装与配置

一、配置环境背景介绍 大二学机械的学生,对许多的技术都感兴趣。一位学长有关于无线传感的tinyos系统的课设,他不感兴趣,正好我感兴趣,所以就捡过来学习一下,在对开发语言nesc语言有一定来了解之后...
  • liuchuanjia
  • liuchuanjia
  • 2017年06月03日 20:15
  • 284
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tinyos tutorial learning tips -- lesson 8
举报原因:
原因补充:

(最多只允许输入30个字)