source: EP9302-digital/digital.h

Last change on this file was 1, checked in by mancausoft, 16 years ago

Added Library to read and write digital for arm9 EP9302

File size: 1.9 KB
RevLine 
[1]1/*
2 * EP9302 Digital library
3 * Copyright (C) 2010 Andrea Milazzo aka Mancausoft
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#define DATA_PAGE 0x80840000
20#define SYSCON_PAGE 0x80930000
21
22#define SYSCON_UNLOCK 0x00C0
23#define UNLOCK_VAL 0xAA
24#define DEVICECFG 0x80
25
26//Registers
27#define PADR 0x0
28#define PBDR 0x04
29#define PCDR 0x08
30#define PDDR 0x0C
31#define PADDR 0x10
32#define PBDDR 0x14
33#define PCDDR 0x18
34#define PDDDR 0x1C
35#define PEDR 0x20
36#define PEDDR 0x24
37#define PFDR 0x30
38#define PFDDR 0x34
39#define PGDR 0x38
40#define PGDDR 0x3C
41#define PHDR 0x40
42#define PHDDR 0x44
43
44
45#define MAX_PORT_USED 5
46#define MAX_CONN 4
47#define MAX_PIN 7
48
49int init_ports();
50void close_ports(int devmem);
51
52int set_port_bit (uint8_t nport, bool value, uint8_t pos);
53int get_port_bit (uint8_t nport, bool* value, uint8_t pos);
54int set_port_dir_bit (uint8_t nport, bool value, uint8_t pos);
55int get_port_dir_bit (uint8_t nport, bool* value, uint8_t pos);
56int set_port_dir(uint8_t nport, uint8_t value);
57int get_port_dir(uint8_t nport, uint8_t* value);
58int set_port (uint8_t nport, uint8_t value);
59int get_port (uint8_t nport, uint8_t* value);
60
61inline void set_bit(bool src, volatile uint8_t *dst, uint8_t bit);
62inline void get_bit(volatile uint8_t src, bool *dst, uint8_t bit);
63
64
Note: See TracBrowser for help on using the repository browser.