Hallo zusammen,
ging in letzter zeit einiges voran.
Habe bei Reichelt bestellt, und die Lieferung schon teilweise verarbeitet.
Soll heißen: Die Platine ist fertig.
Als "Ventil" wird nun ein Servo genutzt, der den Schlauch abklemmt.
Als Schlauch habe ich Silikonschlauch aus eBay, 8/10mm dick.
Jetzt habe ich angefangen zu Programmieren.
Zuerst möchte ich die RS232-Übertragung hin bekommen.
Hier ist das Problem, das vom Controller am PC garnichts ankommt^^
Vorgehen tue ich nach diesem tutorial: http://www.mikrocontroller.net/artic...orial#Der_UART
Mein jetztiger Code:
Ich habe zwischen drin noch eine LED, damit ich sehe ob er überhaupt an die entsprechende stelle im Code kommt.Code:#include <avr/io.h> #include <stdio.h> #include <stdlib.h> #include <util/delay.h> #ifndef F_CPU #warning "F_CPU war noch nicht definiert, wird nun nachgeholt mit 4000000" #define F_CPU 1000000UL // Systemtakt in Hz - Definition als unsigned long beachten >> Ohne ergeben Fehler in der Berechnung #endif #define BAUD 4800UL // Baudrate // Berechnungen #define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1) // clever runden #define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1))) // Reale Baudrate #define BAUD_ERROR ((BAUD_REAL*1000)/BAUD) // Fehler in Promille, 1000 = kein Fehler. #if ((BAUD_ERROR<990) || (BAUD_ERROR>1010)) #error Systematischer Fehler der Baudrate grösser 1% und damit zu hoch! #endif int main(void) { PORTA = 0xff; DDRA = 0xff; for(int i=0;i<5;i++) { PORTA = 0x00; _delay_ms(500); PORTA = 0xff; _delay_ms(500); } UCSRB |= (1<<TXEN); // UART TX einschalten UCSRC |= (1<<URSEL)|(3<<UCSZ0); // Asynchron 8N1 UBRRH = UBRR_VAL >> 8; UBRRL = UBRR_VAL & 0xFF; while (!(UCSRA & (1<<UDRE))) /* warten bis Senden moeglich */ { } PORTA = 0x00; UDR = 'x'; PORTA = 0xff; }
Stimmt dieser so überhaupt?
http://www.mikrocontroller.net/artic...e#UART.2FUSART
Hier habe ich noch eine Checkliste...
Zu den Punkten:
1.: Haben zurzeit 1MHz intern. so wie ich das gelesenhabe ist der Controller ja darauf kalibriert.
2.:ist 1MHz überhaupt ok? Ich habe noch 12MHz hier, wären die besser?
3.:In den Fuses des AVR-Studio hab ich niochts gefunden, ich gehe davon aus das er das nicht ist.
4.: -
5.:-
6.: Bereits gemacht.
--
7.:kA
8.:richtig angeschlossen
9.: beides getestet
10.: TeraTerm Pro wie folgt eingestellt: COM1;4800baud;8bit data; Parity:none;1Stopbit;FlowControl:none
11as funktioniert.







Zitieren

Lesezeichen