📄 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. * It must be started via the SplitControl interface it provides. Data * printed using printf are buffered and only sent over the serial line after * making a call to PrintfFlush.flush(). This buffer has a maximum size of * 250 bytes at present. After calling start on this component, 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. Standard * practice is to start the printf service in the main application, and set up * a timer to periodically flush the printf buffer (500ms should do). In future * versions, user defined buffer sizes as well as well as automatic flushing at * user defined intervals will be supported. * * @author Kevin Klues (klueska@cs.wustl.edu) * @version $Revision: 1.1 $ * @date $Date: 2008/06/12 12:33:47 $ */#include "printf.h"configuration PrintfC { provides { interface SplitControl as PrintfControl; interface PrintfFlush; }}implementation { components SerialActiveMessageC; components new SerialAMSenderC(AM_PRINTF_MSG); components PrintfP; PrintfControl = PrintfP; PrintfFlush = PrintfP; PrintfP.SerialControl -> SerialActiveMessageC; PrintfP.AMSend -> SerialAMSenderC; PrintfP.Packet -> SerialAMSenderC;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -