Sha256: cf0dcc4cfd592ef60bda9a6620433d0ff7a39f4be82ccd915591436c8a872dcf
Contents?: true
Size: 1.46 KB
Versions: 2
Compression:
Stored size: 1.46 KB
Contents
/* ========================================================================= Ceedling - Test-Centered Build System for C ThrowTheSwitch.org Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams SPDX-License-Identifier: MIT ========================================================================= */ #include "Types.h" #include "TimerInterruptConfigurator.h" #include "TimerInterruptHandler.h" static inline void SetInterruptHandler(void); static inline void ConfigureInterruptSourceModeRegister(void); static inline void ClearInterrupt(void); static inline void EnableCompareInterruptForRegisterC(void); void Timer_DisableInterrupt(void) { AT91C_BASE_AIC->AIC_IDCR = TIMER0_ID_MASK; } void Timer_ResetSystemTime(void) { Timer_SetSystemTime(0); } void Timer_ConfigureInterrupt(void) { SetInterruptHandler(); ConfigureInterruptSourceModeRegister(); ClearInterrupt(); EnableCompareInterruptForRegisterC(); } void Timer_EnableInterrupt(void) { AT91C_BASE_AIC->AIC_IECR = TIMER0_ID_MASK; } // // Helpers // static inline void SetInterruptHandler(void) { AT91C_BASE_AIC->AIC_SVR[AT91C_ID_TC0] = (uint32)Timer_InterruptHandler; } static inline void ConfigureInterruptSourceModeRegister(void) { AT91C_BASE_AIC->AIC_SMR[AT91C_ID_TC0] = 1; } static inline void ClearInterrupt(void) { AT91C_BASE_AIC->AIC_ICCR = TIMER0_ID_MASK; } static inline void EnableCompareInterruptForRegisterC(void) { AT91C_BASE_TC0->TC_IER = AT91C_TC_CPCS; }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ceedling-1.0.1 | examples/temp_sensor/src/TimerInterruptConfigurator.c |
ceedling-1.0.0 | examples/temp_sensor/src/TimerInterruptConfigurator.c |