- 12V Akku mit 280 Ah bauen         
Seite 4 von 7 ErsteErste ... 23456 ... LetzteLetzte
Ergebnis 31 bis 40 von 66

Thema: Programm_Anpassungen

  1. #31
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    Anzeige

    Powerstation Test
    moment, ich glaub da ist noch ein fehler:

    TXC WIRD 1, wenn der transfer beendet ist.
    TXC WIRD 0, wenn man es durch schreiben einer 1 (!) cleared.

    normalerweise bzw. nach dem einschalten des prozessors ist TXC = 0!!
    könnte allerdings sein dass durch den bootloader irgendwas gesendet wird, dann ist es natürlich eins. glaube ich aber nicht, man sieht ja nix in hyperterminal wenn man nicht flasht.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  2. #32
    Benutzer Stammmitglied
    Registriert seit
    09.07.2007
    Beiträge
    42
    Hi Sternthaler,

    nachdem Dein Vorname nur "... Schall und Rauch" ist, (Dein Spruch!) muss ich Dir auch noch verkünden, dass Du mit
    Unser "while ( ! (UCSRA & 0x40)) ;"-Code dreht ja nun alles auf den Kopf. Das Bit bleibt also nicht dauerhaft auf 1, sondern auf 0. Denn nur dann kommen wir ja wieder aus dem while herraus, wenn es auf 0 gegangen ist.
    auch noch FALSCH liegst!) (Oh, du dickes Ei!)
    Deutsche Spragge, schwere Spragge! English noch viel schwerer!)
    * Bit 6 - TXC: USART Transmit Complete
    This flag bit is set when the entire frame in the Transmit Shift Register has been shifted out and there are no new data currently present in the transmit buffer (UDR).
    ... hatten wir schon: (und schon wieder ein "deja vu-Erlebnis"!)
    Und da steht doch sinngemäß drin:
    TXC = 1, wenn
    * 1. das gesamte "Versand-Paket" (einschließlich "Start-", "Stopp-" und evtl. "Paritätsbit") hinausgeschoben (=versandt) wurde,
    und
    * 2. sich keine (weiteren/) neuen Daten im Transmit-Speicher (=UDR) befinden!
    The TXC Flag bit is automatically cleared when a transmit complete interrupt is executed,
    .... ebenso => hier unwichtig!
    or it can be cleared by writing a one to its bit location.
    Bitte beachten "it can"!
    Dass wir das _zur_Sicherheit_ machen, hatte ich ja auch schon geschrieben!
    The TXC Flag can generate a Transmit Complete interrupt (see description of the TXCIE bit).
    Na ja, auch HIER unwichtig!
    (Und das Alles steht bei mir auf Seite 154!

    Na ja, es war schon ziemlich spät!)
    - AVR setzt TXC auf 0 wenn alles geschoben ist.
    - unser "while ( ! ...) sieht dies und while bricht ab
    Umgekehrt! "TXC auf 1, wenn alles geschoben ..." und der Speicher UDR leer ist.!

    Ich würde, damit alle glücklich sind, alles so lassen, wie es ist! Bis auf
    1. m.a.r.v.i.n's #define => ist m.M. nach 'ne gute Ergänzung!
    2. Doppel-FOR-Schleife weg => braucht man nicht!
    3. Bei TX ein: nicht das ganze Byte setzen "UCSRB = 0x10; //enable receiver", sondern _etwas_besser_ nur das entspechende Bit: "UCSRB |= 0x10; //enable receiver"
    ... und zum Ausschalten: "UCSRB &= ~0x10; //disable receiver" (dto. clear'en)
    4. analog dazu das Gleiche beim Empfänger!

    Jeder, der ein wenig "fortgeschrittener" ist, kann sich ja die vorgefertigten Funktionen nach Gusto anpassen!

    Hi @damaltor!
    TXC WIRD 0, wenn man es durch schreiben einer 1 (!) cleared.
    Glaube ich nicht, dass es zu Null wird, sondern es bleibt 1. (Das mit dem "cleared" ist m.M. nach hier etwas verwirrend ausgedrückt!)
    Ich wette, dass erst der Schreib-Zugriff auf UDR 'ne Null draus macht! (Denn erst dann fängt der Sendeprozess an!)

    So, ich muss jetzt weiterlernen, in dem ich Eure Programme analysiere!!)

    cu Helmut

    PS: Schade, dass ich noch keine Antwort auf meine Frage nach dem Zweck der Variablen "tot_count" in Go() bekommen habe! (Vielleicht kann mir hier jemand helfen?)

  3. #33
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    or it can be cleared ...
    wenn es die ISR nicht macht! Im Polling-Betrieb kannst es auch nicht löschen und bei der nächsten Abfrage wird ein "Schieberegister leer" erkannt, weil das TXC noch vom letzten beendeten Senden gesetzt war. Das mache ich hier nicht anders:
    https://www.roboternetz.de/phpBB2/vi...=302605#302605

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  4. #34
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    nein, das stimmt schon. das bit ist clear, wenn es null ist, und es wird gecleared, wenn es mit 1 beschrieben wird. ich arbeite gerade mit der USART auf einem STK200, um die möglichkeiten der Datenübertragung zu testen.

    durch das schreiben einer 1 in das bit wird es zu null! ist zwar eigenartig, aber ich vermute einen technischen rund dahinter. vermutlich wurde dadurch etwas platz auf dem silizium gespart.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  5. #35
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Hilfe, ich verblöde! (Oder ist 3:33 doch auch für mich zu spät?)
    Natürlich habt ihr alle Recht. "while ( ! (UCSRA & 0x40)) ;" heißt selbstverständlich, dass das TXC-Bit erst 1 werden muss damit die Schleife verlassen wird. Dann passt es auch zur englischen Beschreibung. (Kann ich scheinbar nach 03:00 nur manchmal verstehen)

    Trotzdem sollte das Bit "before each transmission (before UDR is written)" gecleard werden. Das aber fehlt trotz meines unverzeihlichen Fehltritt's heute Nacht in uart.c SerWrite().

    Und ob da ein Stück Silicium fehlt, oder das Bit halt lieber negativ denkt ist doch eigendlich egal. Hauptsache es wird vorher auf 1 gesetzt, damit es 0 wird.

    Zitat Zitat von helmut_w
    or it can be cleared by writing a one to its bit location.
    Bitte beachten "it can"!
    Dass wir das _zur_Sicherheit_ machen, hatte ich ja auch schon geschrieben!
    Hier allerdings bin ich immer noch der Meinung, dass es in unserem Fall zwingen notwendig ist., denn der Satz geht weiter mit: "if it is used for this purpose"

    (Was habe ich jetzt an Müll geschrieben? Sagt es mir)
    Lieber Asuro programieren als arbeiten gehen.

  6. #36
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    /me beruhigt sternthaler erstmal und pustet den schall und rauch weg =)

    man kann es löschen, wenn man mag. mehr ist dazu nicht zu sagen. ich denke, es ist eine feine sicherheitsabfrage, damit fehler in der übertragung begrenzt werden. leider ist mein asuro gerade in der umbauphase, hat das also mal jemand ausgetestet?
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  7. #37
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Zitat Zitat von damaltor
    /me beruhigt sternthaler erstmal ...
    ... hat das also mal jemand ausgetestet?
    Ich zähle schon seit Sunden immer wieder bis 1000. So langsam geht es wieder.

    Nein, ist noch nicht ausprobiert. Oder doch, eigendlich ja schon von Arexx-Henk.
    Lieber Asuro programieren als arbeiten gehen.

  8. #38
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    iss erstmal einen ja!-doppelkeks...
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  9. #39
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Mhhm... lecker, besonders gut mit Kaffee und Rapmusik. Gibt es eigendlich schon ein rappiges Stück für den musizierenden-Asuro?
    Lieber Asuro programieren als arbeiten gehen.

  10. #40
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    hmm... hiphop ist ok, aber ich hör lieber musik....
    Read... or die.
    ff.mud.de:7600
    Bild hier  

Seite 4 von 7 ErsteErste ... 23456 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad