📄 printfc.nc
字号:
/* * "Copyright (c) 2006 Washington University in St. Louis. * 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 WASHINGTON UNIVERSITY IN ST. LOUIS 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 WASHINGTON * UNIVERSITY IN ST. LOUIS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * WASHINGTON UNIVERSITY IN ST. LOUIS SPECIFICALLY DISCLAIMS ANY 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 WASHINGTON UNIVERSITY IN ST. LOUIS HAS NO * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR * MODIFICATIONS." *//** * This is the PrintfC component. It provides the printf service for printing * data over the serial interface using the standard c-style printf command. * Data printed using printf are buffered and only sent over the serial line after * the buffer is half full or an explicit call to printfflush() is made. This * buffer has a maximum size of 250 bytes at present. This component is wired * to a shadowed MainC component so that printf statements can be made anywhere * throughout your code, so long as you include the "printf.h" header file in * every file you wish to use it. Take a look at the printf tutorial (lesson 15) * for more details. * * The printf service is currently only available for msp430 based motes * (i.e. telos, eyes) and atmega128x based motes (i.e. mica2, micaz, iris). On the * atmega platforms, avr-libc version 1.4 or above must be used. */ /** * @author Kevin Klues <klueska@cs.stanford.edu> * @date September 18, 2007 */#include "printf.h"configuration PrintfC { provides { interface Boot; } uses interface Boot as MainBoot @exactlyonce();}implementation { components SerialActiveMessageC; components new SerialAMSenderC(AM_PRINTF_MSG); components new PrintfQueueC(uint8_t, PRINTF_BUFFER_SIZE) as QueueC; components PrintfP; components LedsC; MainBoot = PrintfP.MainBoot; Boot = PrintfP.Boot; PrintfP.SerialControl -> SerialActiveMessageC; PrintfP.Queue -> QueueC; PrintfP.AMSend -> SerialAMSenderC; PrintfP.Packet -> SerialAMSenderC; PrintfP.Leds -> LedsC;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -