Suchergebnisse

Suchergebnisse 1-20 von insgesamt 69.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

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!

  • Watchdog und INT

    Kurt - - Hauptforum BASCOM-AVR

    Beitrag

    Zitat von Pluto25: „Nach der Übermittlung legt er sich schlafen bis ein int0/1 eingeht? Genau so kann auch eine Watchdog Isr ihn Aufwecken. Darin muß ein 'Reset Watchdog' stehen damit er beim nächsten Auslösen keinen Reset macht. Dadurch wird er solange kein Int0/1 eingeht alle 8 Sekunden kurz wach um dann weiter zu schlafen ohne das er einen völligen Neustart hinlegen muß. Ein weiterer Vorteil wäre das die Watchdog isr wartet bis eine zeitgleich eingegangen Int ausgeführt wurde. Ein Reset könnt…

  • Watchdog und INT

    Kurt - - Hauptforum BASCOM-AVR

    Beitrag

    Zitat von Pluto25: „Der WD kann auch mit seinem Int wecken ohne einen Totalen Reset aus zu führen. Der würde auch nicht einen laufenden Int0/1 "abschießen". “ Hört sich gut an, ich verstehe aber noch nicht so recht wie der WD-Reset dadurch verhindert wird. Kann man vor dem Reset, ausgelöst vom WD-Timer-IR, den WDT noch bremsen oder neu laden, oder wie läuft das ab. Aus den Unterlagen bin ich nicht schlau geworden. Kurt

  • Watchdog und INT

    Kurt - - Hauptforum BASCOM-AVR

    Beitrag

    Zitat von 8vh: „Zitat von Kurt: „Meine Befürchtung ist nun, dass während des Aufwachzyklusses (WD Reset) Impulse verloren gehen könnten. “ was ist ein Aufwachzyklus ??? “ Nachdem der WD einen Reset erwirkt hat erwacht der Prozessor aus seinem Schlafmodus und fängt an zu arbeiten, dabei werden die Arbeitsumstände festgelegt, gewartet bis der Quarz richtig schwingt usw. Das ist für mich der Aufwachzyklus. Während dieser Zeit ist der Prozessor nicht bereit Aufgaben zu erfüllen, z.B. einen Interrupt…

  • Watchdog und INT

    Kurt - - Hauptforum BASCOM-AVR

    Beitrag

    Hallo Leute, der Aufbau: Quellcode (29 Zeilen) Über INT0 und INT1 werden Ereignisse erfasst, Zähler hochgezählt und diese zwischendurch seriell weitergegeben. Meine Befürchtung ist nun, dass während des Aufwachzyklusses (WD Reset) Impulse verloren gehen könnten. Die Impulse sind ca 100 ms lang. Wie kann ich das verhindern? Kurt

  • Zitat von Mitch64: „Zitat von Kurt: „So ungefähr sieht ein Komplettpaket aus: " T001:20.09.2017,15:11,14425003,W=15,W1=14,U_B=13.8;" gefolgt von "13/10" Die Schlüsselwörter für die drei auszulesenden Daten sind: "W=", "W1=", "U_B=" Die drei auszulesenden Daten können in ihrer Länge von 0 bis 5 Zeichen variieren. “ Du schreibst, dass nach dem Crash deine bisherige Auslesetechnik nicht mehr gescheit funktioniert. Da kommt bei mir die Frage auf, ob das Paket (siehe Zitat) ein Auszug ist vor oder na…

  • Zitat von Pluto25: „Zitat von Kurt: „Kommt eine falsche Zahl zustande dann scheint sie bei 65535 “ Kontrollier mal die Verbindung. Da scheint die Rx oder Gnd Leitung "verrostet" Störungen verursachen auch oft "FF" (Ein Einbruch wird als Startbit interpretiert und dann nichts mehr = FF ) “ Das kann ich ziemlich sicher ausschliessen, beide Massen hängen direkt zusammen und der Abstand von der Quelle, dem Datensender, ist auch sehr gering. Auf den Sender habe ich keinen Einfluss, hab nur mitbekomme…

  • Zitat von Mitch64: „Genau das ist das Problem, so wie du es machst. Du kannst ja nicht davon ausgehen, dass du 2 komplette Pakete im Buffer hast. Wenn du deine Kiste zu einem Zeitpunkt einschaltest, in dem gerade ein Paket gesendet wird, hast du dann, webb deine Bedingung zutrifft (RS_Buff_Count>64), den Rest von aktuellen paket im Speicher, dann ein komplettes und dann wieder den Anfang von einem 3. Paket. Je nachdem wo dein Schlüssel gefundet wird, kanns mal nicht passen. “ Mir ist klar, dass …

  • Zitat von Mitch64: „ Ich würde dir empfehlen, Zeichenweise einzulesen, bis ein Trennzeichen kommt. Dann das eingelesene prüfen ob es das gesuchte Schlüsselwort ist. Wenn nein, nächstes Wort lesen. Das macht man so lange, bis das Schlüsselwort gefunden ist. Stimmt das Schlüsselwort, dann ist jetzt ab einer bestimmten Position der Zahlenwert zu finden, (Dabei greift man aber nicht direkt auf den Fifo zu, denn dann bekommst du wieder Probleme, falls weitere Zeichen jetzt ankommen sollten.) Man könn…

  • Zitat von Mitch64: „Was und wie sendest du denn die Daten? Zeig doch mal deinen Sende Code! “ Die Daten kommen zyklisch von einem Fremdgerät, darauf habe ich keinen Einfluss. Es sind jeweils ca 50..60 Bytes, daraus suche ich mir die entsprechenden Schlüsselwörter und hol mir dann die Daten aus den Zahlenstrings raus. Die Geschwindigkeit ist 9600 Baud, so ca. alle 10 sek kommt ein Paket. Quellcode (3 Zeilen) dann den Zahlenwert rausholen Quellcode (11 Zeilen) Zitat von monkye: „..empfängst Du wäh…

  • Hallo Leute, kann man den Pufferinhalt (Mega 2560) ---------------------- Config Serialin3 = Buffered , Size = 200 Config Serialout3 = Buffered , Size = 200 ---------------------- direkt in einen String einlesen? Der Stand wird vorher durch "Buffer_4 = _rs_bufcountr4" ermittelt, das Einlesen in einen String dann so erledigt: -------------------------------------- Antwort_str_x = "" If Ischarwaiting(#4) > 0 Then ' schaut ob Zeichen im Puffer sind While Ischarwaiting(#4) > 0 Zeichen_aus_puffer = I…

  • WD und INT Tiny4313

    Kurt - - Hauptforum BASCOM-AVR

    Beitrag

    Zitat von Kalle_BMW: „dann poste doch bitte dein Programm wie du dies gelöst hast damit ich dies auch verstehen kann “ Alles geht nicht, also nur das relevanteste. Quellcode (53 Zeilen) Angedacht ist es so: Der WD weckt auf, die Arbeitsroutine wird (bei Bedarf) abgearbeitet, danach wird wieder geschlafen. Der zu zählende Impuls ist 500 ms lang und kommt nicht oft. Er weckt den AVR durch einen IR auf und dieser zählt einfach weiter. In der IR_Rutine werden weitere IR gesperrt (Prellen usw.) und e…

  • WD und INT Tiny4313

    Kurt - - Hauptforum BASCOM-AVR

    Beitrag

    Zitat von Michael: „ Deinen Watchdog hast du als Resetquelle konfiguriert? Auch hier kann ein Interrupt ausgelöst werden. On Wdt Watdoglabel Idle owerdown unterscheiden sich im der Tiefe des Schlafes. In der Tabelle in Beitrag #5 siehst du, welche Taktquellen noch aktiv sind. “ On Wdt Ziel hat nicht funktioniert, ev. ist meine SW schon zu alt. Ging auch so, fing halt bei "Reset" an. Nachdem ich geschnallt hatte das der SLEEP ja nur das vorher eingestellte aktiviert war auch der Stromverbrauch, c…

  • WD und INT Tiny4313

    Kurt - - Hauptforum BASCOM-AVR

    Beitrag

    Zitat von Michael: „Deinen Watchdog kannst du als Interrupt konfigurieren, dein INT0 ebenso. Beide sind, je nach Powerdown Modus, als Aufwachquelle geeignet. Im Datenblatt steht das genauer, da gibt es eine Tabelle zum Thema. Der externe Interrupt muss zum Aufwachen als Low Level eingestellt sein. On Int0 Ereignislabel Enable Int0 Config Int0 = LOW LEVEL Enable Interrupts “ So schauts momentan aus: Quellcode (7 Zeilen) Und so der WD mit Arbeitsroutine Quellcode (8 Zeilen) Hier die ISR Der Auslös…

  • WD und INT Tiny4313

    Kurt - - Hauptforum BASCOM-AVR

    Beitrag

    Gefunden im Netz zu: Config Int0 = LOW LEVEL Zitat von Michael: „Deinen Watchdog kannst du als Interrupt konfigurieren, dein INT0 ebenso. Beide sind, je nach Powerdown Modus, als Aufwachquelle geeignet. Im Datenblatt steht das genauer, da gibt es eine Tabelle zum Thema. Der externe Interrupt muss zum Aufwachen als Low Level eingestellt sein. “ Damit habe ich ein Problem. Gefunden: ------------ Es gibt für diesen Interrupt drei Einstellmöglichkeiten auf die er reagieren kann: Low Level: reagiert …

  • WD und INT Tiny4313

    Kurt - - Hauptforum BASCOM-AVR

    Beitrag

    Danke Michael, für die Info. Muss mich erst wieder "einlernen" (mache nur selten was mit SW) Kurt

  • WD und INT Tiny4313

    Kurt - - Hauptforum BASCOM-AVR

    Beitrag

    Hallo, ich versuche beides zusammenzubringen. AVR im Sleepmodus, wird durch WD alle 8 sec aufgeweckt um irgendwas zu tun. Jetzt soll zusätzlich noch ein externes Ereignis gezählt werden (wohl INT0 oder 1). Bei einer Flanke am Eingang soll der AVR aufwachen, einen Zähler hochzählen und dann wieder schlafen. Mir ist noch nicht klar wie das Befehlsmässig geht und was passiert wenn der AVR schon wach ist weil er vom WD bereits wachgerüttelt wurde. Gibts hier ein Beispiel an das ich mich anhängen kan…

  • Hallo Leute, danke für eure Mithilfe. Gruss Kurt

  • Zitat von HansHans: „Ist denn nicht noch etwas Platz für eine Solarzelle ? “ Naja, angenommen im Wald. Da geht monatelang nichts und die Selbstentladung eines Akkus ist meisst auch nicht gerade hilfreich. Batterien sind da zuverlässiger. Oder das Relais ist unter einem Sandhaufen oder in einem Kanal begraben. Kurt

  • Zitat von zaubara: „Dass der Relais-Controller sekundengenau kurz vor dem Senden/Weiterleiten der Nachricht aufwachen soll halte ich eher für schwierig bzw nicht ohne größeren Aufwand umzusetzen, allein schon wegen der Temperatur(in-)stabilität. Wäre es nicht möglich, wenn das Relais aufwacht, es sich kurz beim Server meldet "Hallo ich bin bereit", dieser dann die Nachricht sendet und dem Relais gleichzeitig mitteilt, in wievielen Sekunden zB. das Relais das nächste mal aufwachen soll? Dadurch, …

  • Zitat von Pluto25: „Zitat von Kurt: „Als Arbeitsquarz ist ein 2.4 oder 4 MHz Quarz angedacht, damit krieg ich saubere "Serielle" hin. “ An welche Baudrate dachtest Du? 9600 macht auch der RC spielend und über 19,2 sind diese Quarze wenig geeignet zumal sie kaum (weit genug) nachjustiert werden können. “ Ich suche mir die passende Quarzfrequenz vorher aus damit der Fehler der "Seriellen" möglichst bei Null% liegt. ----------------- $regfile = "M328pdef.dat" $crystal = 2457600 ----------------- Od…