TimerOut
 
Component TimerOut
Flip-flop output 1:1
Component Level: High
Methods:
(Methods are user-callable functions/subroutines intended for the component functions control. Please see the Embedded Components page for more information.)
  • Enable - This method enables the component - It starts the signal generation. Events may be generated (DisableEvent/EnableEvent).

      ANSIC prototype: byte Enable(void)
    • Return value:byte - Error code, possible codes:
      ERR_OK - OK
      ERR_SPEED - This device does not work in the active speed mode

  • Disable - This method disables the timer - it stops signal generation and events calling. When the timer is disabled, it is possible to call methods ClrValue and SetValue.

      ANSIC prototype: byte Disable(void)
    • Return value:byte - Error code, possible codes:
      ERR_OK - OK
      ERR_SPEED - This device does not work in the active speed mode

  • EnableEvent - This method enables the events. This method is available only if any event is selected in the component.

      ANSIC prototype: byte EnableEvent(void)
    • Return value:byte - Error code, possible codes:
      ERR_OK - OK
      ERR_SPEED - This device does not work in the active speed mode

  • DisableEvent - This method disables the events. This method is available only if any event is selected in the component.

      ANSIC prototype: byte DisableEvent(void)
    • Return value:byte - Error code, possible codes:
      ERR_OK - OK
      ERR_SPEED - This device does not work in the active speed mode

  • SetPeriodMode - This method switches the component to a specified mode (changes the pulse width using the mode values). Each mode is identified by a single 8-bit unsigned number which expresses one pulse width of the generated signal. This method reduces the time needed for setting of a new period value. This method is enabled only if a list of possible period settings is specified at design time (see Timing dialog box - Runtime setting - from a list of values). Each of these settings constitutes a mode and Processor Expert assigns them a mode identifier. The prescaler and compare values corresponding to each mode are calculated at design time. Modes can be switched at runtime just by referring to a mode identifier (see public constant in the generated header file). No run-time calculations are performed, all the calculations are performed at design time.

      ANSIC prototype: byte SetPeriodMode(byte Mode)
    • Mode:byte - Specifies a Mode to switch to. It is recommended to use public constants from the generated header file.
    • Return value:byte - Error code, possible codes:
      ERR_OK - OK
      ERR_SPEED - This device does not work in the active speed mode
      ERR_VALUE - Value out of range, requested timing mode is not defined

  • SetPeriodTicks16 - This method sets the new pulse width of the output signal. The pulse width is expressed in CPU ticks as a 16-bit unsigned integer number.

    This method is available only if the runtime setting type 'from interval' is selected in the Timing dialog box in the Runtime setting area.


      ANSIC prototype: byte SetPeriodTicks16(word Ticks)
    • Ticks:word - Period to set [in Xtal ticks]
    • Return value:byte - Error code, possible codes:
      ERR_OK - OK
      ERR_SPEED - This device does not work in the active speed mode
      ERR_MATH - Overflow during evaluation
      ERR_RANGE - Parameter out of range

  • SetPeriodTicks32 - This method sets the new pulse width of the output signal. The pulse width is expressed in CPU ticks as a 32-bit unsigned integer number.

    This method is available only if the runtime setting type 'from interval' is selected in the Timing dialog box in the Runtime setting area.


      ANSIC prototype: byte SetPeriodTicks32(dword Ticks)
    • Ticks:dword - Period to set [in Xtal ticks]
    • Return value:byte - Error code, possible codes:
      ERR_OK - OK
      ERR_SPEED - This device does not work in the active speed mode
      ERR_MATH - Overflow during evaluation
      ERR_RANGE - Parameter out of range

  • SetPeriodUS - This method sets the new pulse width of the output signal. The pulse width is expressed in microseconds as a 16-bit unsigned integer number.

    This method is available only if the runtime setting type 'from interval' is selected in the Timing dialog box in the Runtime setting area.


      ANSIC prototype: byte SetPeriodUS(word Time)
    • Time:word - Period to set [in microseconds]
    • Return value:byte - Error code, possible codes:
      ERR_OK - OK
      ERR_SPEED - This device does not work in the active speed mode
      ERR_MATH - Overflow during evaluation
      ERR_RANGE - Parameter out of range

  • SetPeriodMS - This method sets the new pulse width of the output signal. The pulse width is expressed in milliseconds as a 16-bit unsigned integer number.

    This method is available only if the runtime setting type 'from interval' is selected in the Timing dialog box in the Runtime setting area.


      ANSIC prototype: byte SetPeriodMS(word Time)
    • Time:word - Period to set [in milliseconds]
    • Return value:byte - Error code, possible codes:
      ERR_OK - OK
      ERR_SPEED - This device does not work in the active speed mode
      ERR_MATH - Overflow during evaluation
      ERR_RANGE - Parameter out of range

  • SetPeriodSec - This method sets the new pulse width of the output signal. The pulse width is expressed in seconds as a 16-bit unsigned integer number.

    This method is available only if the runtime setting type 'from interval' is selected in the Timing dialog box in the Runtime setting area.


      ANSIC prototype: byte SetPeriodSec(word Time)
    • Time:word - Period to set [in seconds]
    • Return value:byte - Error code, possible codes:
      ERR_OK - OK
      ERR_SPEED - This device does not work in the active speed mode
      ERR_MATH - Overflow during evaluation
      ERR_RANGE - Parameter out of range

  • SetPeriodReal - This method sets the new pulse width of the output signal. The pulse width is expressed in seconds as a real number. To use this method the compiler have to support floating point operations.

    This method is available only if the runtime setting type 'from interval' is selected in the Timing dialog box in the Runtime setting area.


      ANSIC prototype: byte SetPeriodReal(float Time)
    • Time:float - Period to set [in seconds]
    • Return value:byte - Error code, possible codes:
      ERR_OK - OK
      ERR_SPEED - This device does not work in the active speed mode
      ERR_MATH - Overflow during evaluation
      ERR_RANGE - Parameter out of range

  • SetValue - This method sets (set to "1" = "High") timer flip-flop output signal level. It allows to the user to directly set the output pin value (=flip-flop state), and can set the signal polarity. This method works only when the timer is disabled (Disable) otherwise it returns the error code. Methods ClrValue and SetValue are used for setting the initial state.
    This method is available only if timer is disabled in init. code or method Disable is generated.

      ANSIC prototype: byte SetValue(void)
    • Return value:byte - Error code, possible codes:
      ERR_OK - OK
      ERR_SPEED - This device does not work in the active speed mode
      ERR_ENABLED - Component is enabled. Component must be disabled (see Disable method)

  • ClrValue - This method clears (sets to "0" = "Low") timer flip-flop output signal level. It allows to the user to directly set the output pin value (=flip-flop state), and can set the signal polarity. This method works only when the timer is disabled (Disable) otherwise it returns the error code. Methods ClrValue and SetValue are used for setting the initial state.
    This method is available only if timer is disabled in init. code or method Disable is generated.

      ANSIC prototype: byte ClrValue(void)
    • Return value:byte - Error code, possible codes:
      ERR_OK - OK
      ERR_SPEED - This device does not work in the active speed mode
      ERR_ENABLED - Component is enabled. Component must be disabled (see Disable method)


Note: Some methods can be implemented as macros.