Vielen Dank Karl Heiz!!!!
Ich habe übrigens das Programm ein wenig "leserlicher" geschrieben,
allerdings suchte ich überall nur nicht beim Printf und der Floating
Funktion, darauf wäre ich nie gekommen!
Ich Verwende in der fertigen Schaltung einen ATMEGA8, da ich aber
probleme hatte mit dem floating Zeugs habe ich den ATMEGA16 verwendet.
1 | int Init_Rs232()
|
2 | {
|
3 | UCSRA = 0x00; // mit U2X könnte die Baudrate verdoppelt werden (nicht benötigt)
|
4 | UCSRB |= (1<<TXEN); // Serielle Schnittstelle einschalten
|
5 | UCSRC = (1<<URSEL)|(1 << UCSZ1)|(1 << UCSZ0); // 8 Databits, 1 Stopbit
|
6 | UBRRH = (reg_ubrr>>8);
|
7 | UBRRL = reg_ubrr;
|
8 | }
|
9 |
|
10 | int Send_Rs232(char send)
|
11 | {
|
12 | // while (!(UCSRA & (1<<UDRE)))
|
13 | while(!(UCSRA & TXC))
|
14 | { }//warten bis Senden möglich
|
15 |
|
16 | delay_ms(10);
|
17 | UDR = send;
|
18 | return;
|
19 | }
|
wenn das Programm fertig ist und funktioniert werde ich es hier
Veröffentlichen, da vieleicht andere dieses Verwenden können.
(Es handelt sich dabei ums auslesen eines DS18S20 1Wire
Temperatursensors)
Viele Grüße
Lukas