Beste tweakers
ik ben bezig met een Atmega32 programeren en ik wil wat experimenten uitvoeren.
hiervoor wil ik eerst een uart verbinding maken met mijn laptop.
zonder interupt is het mij al gelukt zowel RX als TX maar met interupt lukt het mij gewoon niet.
iemand sugesties ?
voor suggesties :
- ik heb intern osc. 8 mhz (DUBBLE CHECK)
- connectie is goed, dus het is software
ik ben bezig met een Atmega32 programeren en ik wil wat experimenten uitvoeren.
hiervoor wil ik eerst een uart verbinding maken met mijn laptop.
zonder interupt is het mij al gelukt zowel RX als TX maar met interupt lukt het mij gewoon niet.
iemand sugesties ?
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 8000000 #define BAUD 38400 // F_CPU is 8000000 Hz #define UBRR_VALUE ( ((F_CPU) + 8UL*(BAUD)) / (16UL*(BAUD)) - 1UL ) void uart_init(unsigned int ubrr) { UBRRL = ubrr; UBRRH = (ubrr >> 8); UCSRC = _BV(URSEL)|_BV(UCSZ1)|_BV(UCSZ0); // 8 N 1 UCSRB = _BV(RXEN)|_BV(TXEN)|_BV(RXCIE); } ISR(USART_RXC_vect) { char data; data = UDR; // ontvang byte UDR = data; // verstuurde byte } int main(void) { uart_init(UBRR_VALUE); sei(); while(1) {} } |
voor suggesties :
- ik heb intern osc. 8 mhz (DUBBLE CHECK)
- connectie is goed, dus het is software
[Voor 10% gewijzigd door Anoniem: 414228 op 08-07-2011 03:19]