Subversion Repositories svnkaklik

Compare Revisions

Ignore whitespace Rev 150 → Rev 151

/programy/Atmel_C/AVRcam/Utility.c
0,0 → 1,78
/*
Copyright (C) 2004 John Orlando
AVRcam: a small real-time image processing engine.
 
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
 
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
For more information on the AVRcam, please contact:
 
john@jrobot.net
 
or go to www.jrobot.net for more details regarding the system.
*/
/***********************************************************
Module Name: Utility.c
Module Date: 04/13/2004
Module Auth: John Orlando
Description: This module provides a basic set of
general purpose utilities that can be used by any
module needing them.
Revision History:
Date Rel Ver. Notes
4/10/2004 0.1 Module created
6/30/2004 1.0 Initial release for Circuit Cellar
contest.
***********************************************************/
 
/* Includes */
#include "CommonDefs.h"
 
/* Local Variables */
 
/* Local Structures and Typedefs */
 
/* Extern Variables */
 
/* Definitions */
 
/***********************************************************
Function Name: Utility_delay
Function Description: This function provides a busy-wait
delay for a specified number of milliseconds.
Inputs: numMs - the number of milliseconds to delay
Outputs: none
NOTES: The delay_loop_1 and delay_loop_2 functions found
in avr/delay.h provide accurate 3 and 4 cycle delay loops
if needed...this isn't really a millisecond, so DON'T
depend on it for exact timing...
***********************************************************/
void Utility_delay(unsigned short numMs)
{
volatile unsigned short i=0,j=0;
#ifndef SIMULATION
for (i=0; i<numMs; i++)
{
for (j=0; j<1000; j++)
{
asm volatile("nop"::);
}
}
#endif
}