123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- //##############################################################################
- //
- // FILE: MultitaskOS.c
- //
- // TITLE: Real Time 1ms Generator
- //
- // - void MultitaskOS_init ( void )
- // - void ISR_Timer_OS ( void )
- //
- //##############################################################################
- //
- //==============================================================================
- // Change History:
- //==============================================================================
- // Datum: | Name | Version:| Change / Cause: | No
- //------------------------------------------------------------------------------
- // | | | | 002
- //------------------------------------------------------------------------------
- // 05.07.13 | VR | 1.1 | Change for ReilingOS | 001
- //------------------------------------------------------------------------------
- // 02.05.12 | TM | 1.0 | New Build | 000
- //==============================================================================
- //==============================================================================
- // Comment Change / Cause:
- //==============================================================================
- // Change: 003 // 003
- //----------------------
- //
- //
- //==============================================================================
- // Change: 002 // 002
- //----------------------
- //
- //
- //==============================================================================
- // Change: 001 // 001
- //----------------------
- //
- //
- //==============================================================================
- #include "BMS_Master.h"
- // ***** MultitaskOS_init ******************************************************
- void MultitaskOS_init( void )
- {
- PIT.PITMCR.B.MDIS = 0; // Enable Periodic Interrupt Timer
- PIT.PITMCR.B.MDIS_RTI = 0; // Enable Real Time Interrupt
- PIT.PITMCR.B.FRZ = 1; // Freeze in Debug Mode
-
- PIT.CH[0].LDVAL.R = SYSCLK_KHZ; // Timeout Period 1ms 64MHz/1kHz
- PIT.CH[0].TFLG.B.TIF = 1; // Timer Interrupt Request Clear
- PIT.CH[0].TCTRL.B.TIE = 1; // Timer Interrupt Enable
- PIT.CH[0].TCTRL.B.TEN = 1; // Timer Active
- }
- // ***** ISR_Timer_OS **********************************************************
- void ISR_Timer_OS( void )
- {
- asm(" wrteei 0"); // disable Interrupts
- PIT.CH[0].TFLG.B.TIF = 1; // CLear PIT 1 flag by writing 1
- Global_1msCounter++;
-
- asm(" wrteei 1"); // enable Interrupts
- }
- // ***** End MultitaskOS.c *****************************************************
|