Nut/OS  5.0.5
API Reference
XgNutArchAvr32OsTimer

Defines

#define NUT_TICK_FREQ   1000UL

Functions

void NutRegisterTimer (void(*handler)(void *))
 Initialize system timer.
uint32_t NutArchClockGet (int idx)
 Return the CPU clock in Hertz.
uint32_t NutGetTickClock (void)
 Return the number of system ticks per second.
uint32_t NutTimerMillisToTicks (uint32_t ms)
 Calculate system ticks for a given number of milliseconds.

Variables

IRQ_HANDLER sig_sysCompare

Detailed Description

Copyright (C) 2001-2010 by egnite Software GmbH

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holders nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

For additional information see http://www.ethernut.de/


Define Documentation

#define NUT_TICK_FREQ   1000UL

Function Documentation

void NutRegisterTimer ( void(*)(void *)  handler)

Initialize system timer.

This function is automatically called by Nut/OS during system initialization.

Nut/OS uses on-chip tick counter for its timer services. Applications should not modify any registers of this timer, but make use of the Nut/OS timer API. Timer 1 and timer 2 are available to applications.

References Get_system_register, IRQ_HANDLER::ir_handler, NUT_TICK_FREQ, NutGetCpuClock(), register_interrupt(), and Set_system_register.

Here is the call graph for this function:

uint32_t NutArchClockGet ( int  idx)

Return the CPU clock in Hertz.

On AVR32 CPUs the processor clock may differ from the clock driving the peripherals. In this case NutArchClockGet() will provide the correct clock depending on it's argument.

Returns:
CPU clock frequency in Hertz.
CPU clock frequency in Hertz, which is 16780000 for the GBA.
CPU clock frequency in Hertz.

Return the CPU clock in Hertz.

Applications must not call this function, but use NutClockGet() instead.

Simple implementations may not provide this function, in which case NUT_CPU_FREQ must define the CPU frequency in Hertz. This can be done in the Configurator.

Parameters:
idxThis zero based index specifies the clock to retrieve. The number of available hardware clocks depends on the target harware and is specified by NUT_HWCLK_MAX + 1. Typically NUT_HWCLK_CPU is used to retrieve the current CPU clock. Additional indices may be available to retrieve one or more peripheral clocks or a special slow clock.
Returns:
Clock frequency in Hertz.
CPU clock frequency in Hertz, which is 16780000 for the GBA.
CPU clock frequency in Hertz.

Return the CPU clock in Hertz.

Applications must not call this function, but use NutClockGet() instead.

Simple implementations may not provide this function, in which case NUT_CPU_FREQ must define the CPU frequency in Hertz. This can be done in the Configurator.

Parameters:
idxThis zero based index specifies the clock to retrieve. The number of available hardware clocks depends on the target harware and is specified by NUT_HWCLK_MAX + 1. Typically NUT_HWCLK_CPU is used to retrieve the current CPU clock. Additional indices may be available to retrieve one or more peripheral clocks or a special slow clock.
Returns:
Clock frequency in Hertz.

Return the CPU clock in Hertz.

Parameters:
pllSpecifies the PLL, 0 for PLL0, 1 for PLL1.
Returns:
Frequency of the selected PLL in Hertz.

Determine the processor clock frequency.

Returns:
CPU clock frequency in Hertz.

Return the CPU clock in Hertz.

Returns:
CPU clock frequency in Hertz.

References _BV, RCC_ClocksTypeDef::ADCCLK_Frequency, CLK_IN, RCC_ClocksTypeDef::HCLK_Frequency, Lpc17xx_ClockGet(), NUT_CPU_FREQ, NUT_HWCLK_CPU, NUT_HWCLK_PERIPHERAL_A, NUT_HWCLK_PERIPHERAL_B, NUT_HWCLK_PERIPHERAL_HSB, NUT_HWCLK_SLOW_CLOCK, RCC_ClocksTypeDef::PCLK1_Frequency, RCC_ClocksTypeDef::PCLK2_Frequency, rc, RCC_GetClocksFreq(), and RCC_ClocksTypeDef::SYSCLK_Frequency.

Here is the call graph for this function:

uint32_t NutGetTickClock ( void  )

Return the number of system ticks per second.

Returns:
System tick frequency in Hertz.

References NUT_TICK_FREQ.

uint32_t NutTimerMillisToTicks ( uint32_t  ms)

Calculate system ticks for a given number of milliseconds.

This routine is used by Nut/OS to retrieve the number of system ticks for a given timeout.

Parameters:
msNumber of milliseconds.
Returns:
Number of system ticks. The resolution is limited to the granularity of the system timer.

References NUT_TICK_FREQ.


Variable Documentation

Initial value:
 {



    NULL,                       
    NULL,                       
    NULL                        
}