- fchao-Sinus-Wechselrichter AliExpress         
Seite 15 von 15 ErsteErste ... 5131415
Ergebnis 141 bis 150 von 150

Thema: Timer0 Overflow Interrupt löst nicht aus (ATmega16)

  1. #141
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Anzeige

    Praxistest und DIY Projekte
    Tilden eingefügt, direkt-echo entfernt.

    (wir produzieren ja damit einen 50% Baudraten fehler durch das 0.5 Bit
    Angehängte Dateien Angehängte Dateien

  2. #142
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.05.2005
    Beiträge
    101
    ´Sorry musste wech vorhin..
    Habs jetzt nomma ausprobiert:

    HÿAÿLÿLÿOÿ ÿ?ÿ?ÿ?ÿ?ÿ?ÿ ÿtÿeÿsÿtÿ ÿ.ÿ.ÿ.ÿ.ÿ.ÿ ÿ@ÿ@ÿ@ÿ@ÿ@ÿ@ÿ@ÿ ÿ ÿ ÿ ÿ ÿ ÿ

    waren jetzt meine Testeingaben.
    Wenn ma aber Direkt-Echo entfernen sollt doch eigentlich nur noch 1 Zeichen kommen oder bin ich jetzt ganz doofy...

  3. #143
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Traraaa !
    Ich hab bei mir eine Teststellung aufgebaut und darf dir sagen, dass das Zeugs funktioniert. ich schick dir noch heute die adaptierte Source. Erläuterung folgt, zum Mäusemelken !
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #144
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.05.2005
    Beiträge
    101
    Cool !!! \/
    Aber an was hatts dann die ganze Zeit gelegen ??

  5. #145
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Ich hab das eben so aufgebaut, daß ich PD2 u. PD0 (rx) verbunden habe und halt das ganze prescale u. preload f. 8 MHZ angepaßt habe. Senden hatt' ich ja schon ("hello, world") also habe ich das ganze INT0 -Zeugs eigentlich mit cut & paste aus unserem Programm übernommen. Und hatte auch bei der ersten Versuchen prompt ein ähnliches Ergebnis. Nämlich nix. d.h es schien so, als würde INT0 zwar anspringen, aber die TImer-ISR irgendwie nicht laufen (rxcount 0). Dann hab ich die ganze INT0 wieder auskommentiert und das Start-Bit in der Main-Schleife abgefragt. Und wieder war nix mit rxcount. Da ich die Timer-routine aber eigentlich nie disable, und senden ging ja immer, war das rätselhaft.
    Dann stieg in mir ein Verdacht auf, und sieh, es ging auf einmal ruckartig.
    und zwar hab ich rx- u. txflag zusammengelegt und die bit-names umdefiniert
    TX_M_SEND 1
    RX_M_RECV 4
    RX_M_DATA 8
    d.h mit edit replace hab ich aus bRxFlag ebenfalls bTxFlag gemacht.

    ich hab zwar noch irgendwo den Fehler, daß mein echo immer zusätzlich ein zweites Zeichen ausgibt, aber das Problem find ich.

    Jetzt hol ich mir nochmal dein HEX um auch dein Programm in der Richtung zu kontrollieren (wer rechnet mit sowas) also irgendwie ist das kein Beweis, daß das bei dir das gleiche Problem ist.
    (die Timer-ISR kriegt den Flag RX_M_RECEIVE einfach nicht mit)

    aber es ist mal eindeutig der Beweis da, daß das Programm-Konzept mit Timing, 1 u. 1.5 Bit und alles drumherum) stimmt und nur solche Idiotien der Grund für das Massaker sind.
    Also die Version Sw-uart-2 von gestern paßt, nur eben die obige Änderung müßtest du mal versuchen.

    Ich such mal jetzt den Grund für das doppel-Echo und versuch das ganze noch zu beweisen.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #146
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.05.2005
    Beiträge
    101
    Hab die Änderungen jetzt auch vorgenommen. Bleibt so wie beim letzten Stand. Erst richtiges Echo und dann noch ein Zeichen mit. Wie sieht denn dein Doppel-Echo aus ?

    Aber echt supi, das ma jetzt schon davon ausgehen können, das Timing etc. richtig ist.

  7. #147
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Bei mir geht, scheinbar, einfach der Cursor einen schritt zu weit. So wie wenn man gesperrt schreiben würde. Wie gesagt, das erste Zeichen stimmt, dann sendet er wahrscheinlich ein (pseudo) Startbit zu viel oder sowas, also eigentlich kein wirkliches Zeichen.
    Ich hab eine Terminalemulation, die würde auch binärcode darstellen, zeigt aber nix.
    Das macht mir aber keine Sorgen, ich werd' das jetzt testen.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  8. #148
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    So. Ich mußte doch tatsächlich von dem 1.5 Bit umsteigen auf 0.5 Bit.
    d.h. ich bin mitten im Startbit, wenn es eines ist. Erst wenn hier die Leitung auch low ist, gilt das ganze.
    Eigentlich war es das. Ziemlich hartnäckiges Zeugs.
    Ich habe meine Source attached, is für Winavr und Meg32 mit 8 MHZ.
    Du bist so lieb, und übersetzt das selbst in deine Syntax und in deinen Quarz, mit graut aus begreiflichen Gründen schon vor allem, was mit "UA" anfängt.
    Das Programm ist funktionsfähig und echoed was man schreibt

    0.5 Bit --> bei dir , glaub ich (256 - 210) /2 --> 23

    also TIM0_preload --> 210
    INT0_preload --> 210 + 23 = 233 !!!!!

    Versuch's mal und laß bitte hören.
    Angehängte Dateien Angehängte Dateien

  9. #149
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.05.2005
    Beiträge
    101
    Hi !
    Funzt einwandfrei, nachdem ich nochn bischen mit dem INT0 Preload Wert rumgespielt hab !!
    BIG THX FOR HELP !!! \/
    Hab selber viel gelernt dabei !

  10. #150
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Tätarätääää !

    Hört man gerne, war auch wirklich eine schwere Geburt und ein drei Meter langer Thread.
    Lernen: Klar, am meisten lernt man bei dem, was NICHT geht.
    also, keep codin' and let them robbies roll !
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Seite 15 von 15 ErsteErste ... 5131415

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad