EE445M RTOS
Taken at the University of Texas Spring 2015
timer.c File Reference
#include "timer.h"
#include "libhw/hardware.h"
#include "libnotify/notify.h"
#include "inc/hw_memmap.h"
#include "inc/hw_ints.h"
#include <stdlib.h>
#include "driverlib/pin_map.h"
#include "driverlib/timer.h"
#include "driverlib/sysctl.h"
Include dependency graph for timer.c:

Go to the source code of this file.

Macros

#define TIMER_DEFAULT_PRIORITY   0
 

Functions

void timer_add_interrupt (hw_metadata metadata)
 

Macro Definition Documentation

#define TIMER_DEFAULT_PRIORITY   0

Definition at line 16 of file timer.c.

Referenced by timer_add_interrupt().

Function Documentation

void timer_add_interrupt ( hw_metadata  metadata)

Schedule a task (function) to be invoked periodically.

Parameters
Metadataregarding the timer peripheral and isr to use.

Definition at line 18 of file timer.c.

References hw_timer_metadata::base, hw_timer_metadata::frequency, IntEnable(), hw_timer_metadata::interrupt, hw_timer_metadata::periodic, SysCtlClockGet(), hw_metadata::timer, TIMER_A, TIMER_DEFAULT_PRIORITY, TIMER_TIMA_TIMEOUT, TimerConfigure(), TimerEnable(), TimerIntEnable(), and TimerLoadSet().

Referenced by hw_channel_init().

18  {
19 
20  TimerConfigure(metadata.timer.base, metadata.timer.periodic);
21  TimerLoadSet(metadata.timer.base, TIMER_A, SysCtlClockGet() / metadata.timer.frequency);
24  TimerEnable(metadata.timer.base, TIMER_A);
25 }
void TimerIntEnable(uint32_t ui32Base, uint32_t ui32IntFlags)
Definition: timer.c:1464
#define TIMER_TIMA_TIMEOUT
Definition: timer.h:135
uint32_t SysCtlClockGet(void)
Definition: sysctl.c:2727
frequency_t frequency
Definition: hardware.h:64
uint32_t interrupt
Definition: hardware.h:65
#define TIMER_A
Definition: timer.h:152
memory_address_t base
Definition: hardware.h:63
void TimerConfigure(uint32_t ui32Base, uint32_t ui32Config)
Definition: timer.c:347
#define TIMER_DEFAULT_PRIORITY
Definition: timer.c:16
hw_timer_metadata timer
Definition: hardware.h:98
uint32_t periodic
Definition: hardware.h:66
void TimerEnable(uint32_t ui32Base, uint32_t ui32Timer)
Definition: timer.c:210
void TimerLoadSet(uint32_t ui32Base, uint32_t ui32Timer, uint32_t ui32Value)
Definition: timer.c:969
void IntEnable(uint32_t ui32Interrupt)
Definition: interrupt.c:610

Here is the call graph for this function:

Here is the caller graph for this function: