Folgendes Problem, ich möchte über die RS232 per MAX232, Daten senden sowie empfangen mithilfe eines C# Programmes. Das ganze mit einem Atmega32. Das senden vom PC an den Controller funktioniert auch Reibungslos, in die umgekehrte Richtung funktioniert aber leider gar nichts. Dazu wäre vielleicht noch zu sagen das ich einen seriell > USB Adapter verwende. Mein Code:
1 | #include <avr/io.h> |
2 | |
3 | #define USART_BAUDRATE 4800
|
4 | #define BAUD_PRESCALE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1)
|
5 | |
6 | char receive(void) |
7 | {
|
8 | while ((UCSRA & (1 << RXC)) == 0) {}; |
9 | char btes = UDR; |
10 | return btes; |
11 | }
|
12 | |
13 | void send(char data) |
14 | {
|
15 | while ((UCSRA & (1 << UDRE)) == 0) {}; |
16 | UDR = data; |
17 | }
|
18 | |
19 | int main (void) |
20 | {
|
21 | |
22 | UBRRH = (BAUD_PRESCALE >> 8); |
23 | UBRRL = BAUD_PRESCALE; |
24 | |
25 | |
26 | UCSRC |= (1<<URSEL) | (1<<UCSZ1) | (1<<UCSZ0); |
27 | UCSRB |= (1<<RXEN) | (1<<TXEN); |
28 | |
29 | |
30 | while(1) |
31 | {
|
32 | send(222); |
33 | }
|
34 | |
35 | }
|