Subversion Repositories FlightCtrl

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
508 walter 1
********************************************************************************
2
in "makefile":
3
MCU = atmega644
4
ändern in:
5
MCU = atmega644p
6
 
7
in "makefile" an entsprechender Stelle hinzufügen:
8
ifeq ($(MCU), atmega644p)
9
FUSE_SETTINGS = -u -U lfuse:w:0xff:m -U hfuse:w:0xdf:m
10
#FUSE_SETTINGS = -U lfuse:w:0xff:m -U hfuse:w:0xdf:m
11
 
12
# -u  bei neuen Controllern wieder einspielen
13
 
14
 HEX_NAME = MEGA644P
15
endif
16
 
17
 
18
********************************************************************************
19
in "main.h" hinzufügen: (bei den anderen #defines)
20
 
21
#if defined (__AVR_ATmega644P__)
22
#define SYSCLK	20000000L	//Quarz Frequenz in Hz
23
//#define SYSCLK	16000000L	//Quarz Frequenz in Hz
24
#endif
25
 
26
********************************************************************************
27
in "rc.h" hinzufügen:  (bei den anderen #defines)
28
#if defined (__AVR_ATmega644P__)
29
//#define TIMER_TEILER        CK64
30
#define TIMER_RELOAD_VALUE  250
31
//#define TIMER_TEILER        CK256                 // bei 20MHz
32
//#define TIMER_RELOAD_VALUE  -78 					// bei 20MHz
33
#endif
34
 
35
********************************************************************************
36
in "uart.h" hinzufügen: (bei den anderen #defines)
37
#if defined (__AVR_ATmega644P__)
38
#	define USR  UCSR0A
39
#	define UCR  UCSR0B
40
#	define UDR  UDR0
41
#	define UBRR UBRR0L
42
#	define EICR EICR0B
43
#   define TXEN TXEN0
44
#   define RXEN RXEN0
45
#   define RXCIE RXCIE0
46
#   define TXCIE TXCIE0
47
#   define U2X  U2X0
48
#   define UCSRB UCSR0B
49
#   define UDRE UDRE0
50
#   define INT_VEC_RX  SIG_USART_RECV
51
#   define INT_VEC_TX  SIG_USART_TRANS
52
#endif
53
 
54
#define BAUD_RATE1 57600		//Baud Rate für UART2
55
 
56
********************************************************************************
57
in "uart.c" hinzufügen:  und die entsprechenden interrupt routinen mit code füllen
58
 
59
 
60
//############################################################################
61
//INstallation der 2ten Seriellen Schnittstelle
62
void UART1_Init (void)
63
//############################################################################
64
{
65
	//Enable TXEN im Register UCR TX-Data Enable & RX Enable
66
 
67
	UCSR1B=(1 << TXEN) | (1 << RXEN);
68
    // UART Double Speed (U2X)
69
	UCSR1A   |= (1<<U2X);
70
	// RX-Interrupt Freigabe
71
	UCSR1B |= (1<<RXCIE);
72
	// TX-Interrupt Freigabe
73
	UCSR1B |= (1<<TXCIE);
74
 
75
	//Teiler wird gesetzt
76
	UBRR1L=(SYSCLK / (BAUD_RATE1 * 8L) - 1);
77
	//UBRR1L = 33;
78
	//öffnet einen Kanal für printf (STDOUT)
79
	//fdevopen (uart_putchar, 0);
80
	//sbi(PORTD,4);
81
  Debug_Timer = SetDelay(200);
82
}
83
 
84
 
85
 
86
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
87
//++ Sende-Part der Datenübertragung an zweiten UART
88
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
89
SIGNAL(SIG_USART1_RECV)
90
{
91
 
92
 
93
 
94
}
95
 
96
 
97
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
98
//++ Empfangs-Part der Datenübertragung von zweitem UART
99
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
100
SIGNAL(SIG_USART1_TRANS)
101
{
102
 
103
 
104
 
105
}
106
 
107
 
108
 
109
********************************************************************************
110
in "main.c" an geeigneter Stelle (z.B. dort wo bereits "UART_Init" aufgerufen wird nun auch "UART1_Init" aufrufen
111
 
112
 
113
 
114
 
115
 
116
 
117