📄 atm128timerinitc.nc
字号:
/// $Id: Atm128TimerInitC.nc,v 1.4 2006/12/12 18:23:04 vlahan Exp $/* * Copyright (c) 2004-2005 Crossbow Technology, Inc. All rights reserved. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose, without fee, and without written agreement is * hereby granted, provided that the above copyright notice, the following * two paragraphs and the author appear in all copies of this software. * * IN NO EVENT SHALL CROSSBOW TECHNOLOGY OR ANY OF ITS LICENSORS BE LIABLE TO * ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN * IF CROSSBOW OR ITS LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH * DAMAGE. * * CROSSBOW TECHNOLOGY AND ITS LICENSORS SPECIFICALLY DISCLAIM ALL WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS * ON AN "AS IS" BASIS, AND NEITHER CROSSBOW NOR ANY LICENSOR HAS ANY * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR * MODIFICATIONS. *//** * Initialise an Atmega128 timer to a particular prescaler. Expected to be * used at boot time. * @param timer_size Integer type of the timer * @param prescaler Desired prescaler value * * @author Martin Turon <mturon@xbow.com> * @author David Gay <david.e.gay@intel.com> */generic module Atm128TimerInitC(typedef timer_size @integer(), uint8_t prescaler){ provides interface Init @atleastonce(); uses interface HplAtm128Timer<timer_size> as Timer;}implementation{ command error_t Init.init() { atomic { call Timer.set(0); call Timer.start(); call Timer.setScale(prescaler); } return SUCCESS; } async event void Timer.overflow() { }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -