Search Results

Search results 1-20 of 267.

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

Hinweis kann nach Kenntnisnahme deaktiviert werden!

  • Hallo Tido, indem du den TX explizit disablest Ucsr1b.txen1 = 0 Edit: Ich sehe gerade, dass der Mega644 gar keinen zweiten UART hat. Meinst du den Mega644P?

  • LONG und DWORD bestehen eh beide aus 4 Byte, nicht 8 bei Long. Long wird nur anders interpretiert, das oberste bit ist das Vorzeichen. Da du mit ihnen nicht rechnest sondern sie einfach nur überträgst, macht es absolut keinen Unterschied.

  • Hallo Memory, deine PWM läuft ja nur mit etwa 8Hz, das ist wahrscheinlich zu klein. Nimm doch mal einen kleineren Prescale für den Timer, z.B. 64. Du solltest übrigens auch die Stack Werte angeben.

  • Hallo, ich habe mir letztes Jahr auch eine Minianlage aufs Dach gesetzt. Mein Haus hat ein Walmdach, also überall Schrägen und dann noch Gauben und Dachfenster. Daher machen die großen rechteckigen Module keinen Sinn, höchtens die Pfannen von SolteQ. Die sind aber recht teuer. Meine beiden Module haben zusammen 780W und hängen an einem HM600 Micro WR. Der beschränkt den Ausgang auf 600W, weil nur die im Moment in DS erlaubt sind, obwohl die EU 800W erlaubt. Seit 1.7.2022 haben die beiden schon 5…

  • Timer richtig berechnet?

    Franz - - Hauptforum BASCOM-AVR

    Post

    Quote from Pluto25: “Nun ja 0,2 Promille haben gewöhnlich keinen Einfluss, bei einer Uhr stören sie dann doch. 40 Sekunden je Stunde oder eine viertel Stunde am Tag. ” Hallo Pluto, wenn der Timer bis zum Setzen des Preload noch immer auf 0 steht, hat das keine (und ich meine 0) Auswirkung auf die Genauigkeit. Da der Start der ISR etwa 60 Takte benötigt, ist dies in der Regel ab einem Prescale von >=64 der Fall. 40s pro Stunde wären >1% Abweichung, 0,2 Promille wären etwa 43s pro Tag.

  • Timer richtig berechnet?

    Franz - - Hauptforum BASCOM-AVR

    Post

    Quote from Pluto25: “Das Preload ist recht ungenau. (ca 58Takte für den Isr Aufrufe und manchmal 3 mehr ” Der Preload hat bei einem Prescale von 1024 überhaupt keinen Einfluss auf die Genauigkeit. Ich würde aber auch eher den CTC Modus verwenden. Quote from 3wDHqbH8bic7S: “ins OCR2A Register schreibe ich 250 ” Im CTC Modus musst du dann tatsächlich 249 in das Compare Register schreiben, da er von 0 anfängt und erst beim Wechsel von 49 auf 50 den Timer auf 0 zurücksetzt.

  • Timer richtig berechnet?

    Franz - - Hauptforum BASCOM-AVR

    Post

    Hallo, du meinst wahrscheinlich nicht CTC sondern PWM Modus, oder? Dann ist die Anzahl Zählschritte (deine 512) nicht ganz korrekt. Der Timer zählt ja rauf und wieder runter. Dabei werden die Zählerstände 0 und 255 nur für einen Timertakt angenommen, sodass es exakt 510 Schritte sind. Aber ansonsten geht das so, solange du jetzt nicht noch den UART benutzen willst. Dort kämen immer krumme Werte raus, sodass du evtl. Fehler bei der Übertragung bekommst.

  • Hallo port, ich weiß nicht, wie es den anderen geht, aber ich verstehe deine Frage nicht. Dein Vorteiler 1:12800 klingt nach 256*50. Das würde so sein, wenn der Prescale auf 256 stehen würde, bei dir ist er aber 8. Vielleicht hast du auch den Vorgang des Compare noch nicht verstanden. Da du Clear_Timer=1 angegeben hast, verwendet der Timer den CTC (Clear Timer on Compare match) Modus. Dabei zählt der Timer in seinem Zählregister, hier TCNT0, entsprechend dem Systemtakt durch Timer prescale hoch.…

  • Hallo port, warum lässt du die 40KHz nicht durch den Compare am Pin OC0A generieren? Dann brauchst du nur zwischen High und Low der Bits umzuschalten, was ja wesentlich seltener ist.

  • Hallo Andy, hast du mal die AT-Eingaben per HTERM oder so von Hand probiert? Hast du dir die Antworten des Moduls auf deine AT Befehle überprüft? In diesem XBEE Manual ist einiges anders beschrieben als du es verwendest: +++ hier soll vorher und nachher jeweils 1 Sekunde Ruhe sein, bei dir ist es 1200ms vorher und nur 100ms nachher ATCN soll mit einem CR abgeschlossen werden ATWR Danach soll man warten, bis ein OK empfangen wurde, du wartest 100ms ATKY Der Schlüssel soll 64 Hex Char sein, deiner…

  • Quote from Mitch64: “Weil ich es probieren wollte ob ich es kann, ein Disassembler schreiben? Weil ich ein Disassembler wollte, mit dem man direkt im Simulator kleine Sequenzen analysieren kann, ohne immer gleich Atmel-Studio zu nutzen? ” Berechtigte Fragen, die ich dir aber leider auch nicht beantworten kann.

  • Mit dem Bug magst du vielleicht recht haben. Wenn ich aus deinem Programm die include und die damit verbundenen Funktionen rausschmeisse, dann sehe ich im AVR Studio kein CLI und SEI. Ändere ich dann Incr WordSafe in WordSafe = WordSafe + 1 dann sind sie drin. PS: Warum schreibst du dir eigentlich einen Disassembler in Bascom? Geht doch alles im AVR Studio.

  • Warum probierst du es nicht mit meinem Simpel-Programm sondern mit so einem komplizierten? Außerdem benutzt du eine include, die wir doch wohl nicht haben. Für mich sieht das eher so aus, dass in deinem Programm dem Compiler nicht klar ist, dass er klammern muss. Oder dass du es in deiner DIS_Decode nicht bemerkst.

  • Hallo Mitch64, geht nicht, da ich die 2.0.8.5 nicht installiert habe. Aber du hast es doch ausprobiert damit, warum sollte das bei mir anders sein?

  • Ich habe dieses Programm BASCOM Source Code (17 lines)mal in der 2.0.8.4 probiert. Da wird der Befehl I = I + 1 mit CLI und SEI geklammert: Source Code (20 lines)

  • Hallo Martin, das Senden der 7 Byte dauert ja nicht mal 1ms. Danach kommen 100ms Pause, also ist die Chance, den URXC genau während einer Übertragung freizugeben kleiner als 1:100. Mit einem Timer könntest du die Übertragung noch synchronisieren. Immer wenn ein Byte kommt, nullst du den Timer. Wenn er überläuft, bist du sicher in der Pause. Wenn du nun die Speicherung freigibst, ist sichergestellt, dass du immer mit dem ersten Byte anfängst.

  • ASM Frage zu 16-bit Werten

    Franz - - Hauptforum BASCOM-AVR

    Post

    Sorry Mitch, die Frage ist warum verwendet der Compiler 3 Register und 10 Takte (+ 8 Takte Push und Pop), wenn es auch mit einem und in 4 Takten geht? Das hat doch nichts mit den Wegen nach Rom zu tun, sondern ist einfach ein überflüssiger Umweg. Aber sei's drum, ich weiß ja jetzt, wie ich das umgehe.

  • ASM Frage zu 16-bit Werten

    Franz - - Hauptforum BASCOM-AVR

    Post

    Hallo Mitch, danke für den ausführlichen Exkurs. Vielleicht habe ich mich unklar ausgedrückt. Ich frage mich, warum der Compiler da X-Register (R26+R27) überhaupt verwendet, wenn ein Byte-Wert (ICR1L) in einen Byte Variable (icrl) gespeichert werden soll?

  • ASM Frage zu 16-bit Werten

    Franz - - Hauptforum BASCOM-AVR

    Post

    Hallo zusammen, hier mal eine Frage an die versierteren ASM Fachleute. Ich wollte in einer ISR den ICP Wert abspeichern, sonst nichts. Wenn ich einfach geschrieben habe Icr=ICR1 dann verwendet der Compiler dafür R24, R26 und R27, die ich also alle Pushen muss. Ok, dachte ich in meiner Naivität mache ich es so Icrl=ICR1L icrh=ICR1H Aber leider ändert das nichts, R26 und R27 werden immer noch überschrieben. Also habe ich mir das mal mit dem Disassembler vm AVR Studio angesehen und da zeigt sich di…

  • Hallo, so simpel kann die Berechnung in Bascom aussehen: BASCOM Source Code (65 lines)Ob es sich da lohnt, eine Integration des C-Codes zu ermöglichen?