OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [drivers/] [src/] [counter/] [counter.c] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 jlechner
#include "counter.h"
2
 
3
void counter_initHandle(module_handle_t *h, scarts_addr_t baseAddress)
4
{
5
  h->baseAddress = baseAddress;
6
}
7
 
8
void counter_releaseHandle(module_handle_t *h)
9
{
10
}
11
 
12
void counter_setPrescaler(module_handle_t *h, uint8_t prescaler)
13
{
14
  volatile uint8_t *reg = (uint8_t *)(h->baseAddress+COUNTER_PRESCALER_BOFF);
15
  *reg = prescaler;
16
}
17
 
18
void counter_start(module_handle_t *h)
19
{
20
  volatile uint8_t *reg = (uint8_t *)(h->baseAddress+COUNTER_CONFIG_C_BOFF);
21
  *reg = (1 << COUNTER_CLEAR_BIT);
22
  *reg = (1 << COUNTER_COUNT_BIT);
23
}
24
 
25
void counter_stop(module_handle_t *h)
26
{
27
  volatile uint8_t *reg = (uint8_t *)(h->baseAddress+COUNTER_CONFIG_C_BOFF);
28
  *reg = 0;
29
}
30
 
31
void counter_resume(module_handle_t *h)
32
{
33
  volatile uint8_t *reg = (uint8_t *)(h->baseAddress+COUNTER_CONFIG_C_BOFF);
34
  *reg = (1 << COUNTER_COUNT_BIT);
35
}
36
 
37
void counter_reset(module_handle_t *h)
38
{
39
  volatile uint8_t *reg = (uint8_t *)(h->baseAddress+COUNTER_CONFIG_C_BOFF);
40
  *reg = (1 << COUNTER_CLEAR_BIT);
41
}
42
 
43
uint32_t counter_getValue(module_handle_t *h)
44
{
45
  volatile uint32_t *reg = (uint32_t *)(h->baseAddress+COUNTER_VALUE_BOFF);
46
  return *reg;
47
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.