git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@65 35acf78f-673a-0410-8e92-d51de3d6d3f4
parent
3530c1a5d1
commit
f021c6fe95
|
@ -21,26 +21,88 @@
|
|||
|
||||
#include <avr/io.h>
|
||||
|
||||
/*
|
||||
* All inputs with pullups.
|
||||
*/
|
||||
#define VAL_DDRA 0x00
|
||||
#define VAL_PORTA 0xFF
|
||||
|
||||
/*
|
||||
* All inputs with pullups.
|
||||
*/
|
||||
#define VAL_DDRB 0x00
|
||||
#define VAL_PORTB 0xFF
|
||||
|
||||
/*
|
||||
* All inputs with pullups.
|
||||
*/
|
||||
#define VAL_DDRC 0x00
|
||||
#define VAL_PORTC 0xFF
|
||||
|
||||
/* PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0
|
||||
* IN IN OUT IN OUT IN IN IN
|
||||
* DDRD 0 0 1 0 1 0 0 0
|
||||
* PU HiZ VAL PU VAL HiZ HiZ HiZ
|
||||
* PORTD 1 0 ?1 1 1 0 0 0
|
||||
*/
|
||||
#define VAL_DDRD 0x28
|
||||
#define VAL_PORTD 0xB8
|
||||
|
||||
/* PE7 PE6 BUT LED PE3 PE2 PE1 PE0
|
||||
* IN IN IN OUT IN IN OUT IN
|
||||
* DDRE 0 0 0 1 0 0 1 0
|
||||
* PU PU HiZ VAL PU PU VAL HiZ
|
||||
* PORTE 1 1 0 1 1 1 1 0
|
||||
*/
|
||||
#define VAL_DDRE 0x12
|
||||
#define VAL_PORTE 0xDE
|
||||
|
||||
/* TDI TDO TMS TCK PF3 PF2 PF1 PF0
|
||||
* x x x x IN IN IN IN
|
||||
* DDRF 0 0 0 0 0 0 0 0
|
||||
* x x x x PU PU PU PU
|
||||
* PORTF 0 0 0 0 1 1 1 1
|
||||
*
|
||||
*/
|
||||
#define VAL_DDRF 0x00
|
||||
#define VAL_PORTF 0x0F
|
||||
|
||||
/* x x x x x PG2 PG1 PG0
|
||||
* x x x x x IN IN IN
|
||||
* DDRG 0 0 0 0 0 0 0 0
|
||||
* x x x x x PU PU PU
|
||||
* PORTG 0 0 0 0 0 1 1 1
|
||||
*
|
||||
*/
|
||||
#define VAL_DDRG 0x00
|
||||
#define VAL_PORTG 0x07
|
||||
|
||||
void hwinit(void) {
|
||||
|
||||
/*
|
||||
* I/O ports setup.
|
||||
* Everything configured as input with pull-up initially.
|
||||
*/
|
||||
DDRA = 0;
|
||||
PORTA = 0xFF;
|
||||
DDRB = 0;
|
||||
PORTB = 0xFF;
|
||||
DDRC = 0;
|
||||
PORTC = 0xFF;
|
||||
DDRD = 0;
|
||||
PORTD = 0xFF;
|
||||
DDRE = 0;
|
||||
PORTE = 0xFF;
|
||||
DDRF = 0;
|
||||
PORTF = 0xFF;
|
||||
DDRG = 0;
|
||||
PORTG = 0xFF;
|
||||
DDRA = VAL_DDRA;
|
||||
PORTA = VAL_PORTA;
|
||||
DDRB = VAL_DDRB;
|
||||
PORTB = VAL_PORTB;
|
||||
DDRC = VAL_DDRC;
|
||||
PORTC = VAL_PORTC;
|
||||
DDRD = VAL_DDRD;
|
||||
PORTD = VAL_PORTD;
|
||||
DDRE = VAL_DDRE;
|
||||
PORTE = VAL_PORTE;
|
||||
DDRF = VAL_DDRF;
|
||||
PORTF = VAL_PORTF;
|
||||
DDRG = VAL_DDRG;
|
||||
PORTG = VAL_PORTG;
|
||||
|
||||
/*
|
||||
* External interrupts setup, all disabled initially.
|
||||
*/
|
||||
EICRA = 0x00;
|
||||
EICRB = 0x00;
|
||||
EIMSK = 0x00;
|
||||
|
||||
/*
|
||||
* Enables Idle mode for SLEEP instruction.
|
||||
|
|
|
@ -51,6 +51,7 @@ AVR-AT90CANx-GCC - Port on AVR AT90CAN128, not complete yet.
|
|||
order to minimize the number of interrupts generated, it is possible to
|
||||
disable the feature and return to the old code which is a bit smaller, see
|
||||
the configuration parameters in ./ARM7-LPC214x/GCC/lpc214x_serial.h.
|
||||
- Some more work done on the AVR port, not tested yet.
|
||||
|
||||
*** 0.3.4 ***
|
||||
- Fixed a problem in chVTSetI().
|
||||
|
|
Loading…
Reference in New Issue