Suchergebnisse

Suchergebnisse 1-20 von insgesamt 1.000. Es gibt noch weitere Suchergebnisse, bitte verfeinern Sie Ihre Suche.

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!

  • Die sucht ihre Daten vermutlich zusammen. Die einzelnen Chip-Daten (MCU-Eigenschaften) sind im Unterverzeichnis "DAT" und / oder "PinOut" abgelegt.

  • So wie ich dich verstehe, willst du ja alle Hardware-Module neu programmieren. Um hier Ordnung rein zu bekommen, wäre es also sinnvoll, schon mal eine vernünftige Ordner-Struktur für das Gesamtprojekt zu haben. Etwa so: Einen Hauptordner z.B. "Heizungssteuerung", darin Unterverzeichnisse mit den einzelnen Hardware-Modulen. Zudem bietet sich ein zusätzlicher Ordner im Verzeichnis "Heizungssteuerung" an, in dem gemeinsame Include-Dateien abgelegt werden, die von mehreren Hardware-Modulen verwendet…

  • Zitat von Tipoff6712: „könnte ich mir vorstellen, dass da jemand ins schwitzen kommt “ Der einige der da ins schwitzen kommt, bist du, wenn du das evtl. unrund laufende Programm versuchst zu verbessern. Dem Controller ist das völlig wurscht, welche Anweisung er ausführt. Der bleibt da völlig cool. Zitat von Tipoff6712: „OLED und ADC sind ja nicht ohne “ OLed über I2C kann schon störend Bremsen. Das ADC weniger. Aber klar, Bascom misst ja 2x und wartet jedesmal auf das Ergebnis. Man kann das klev…

  • Das Problem ist meiner Ansicht nach das Wait 2ms. Die Wartezeit von 2ms intspricht 32000 Takten, in der der Prozessor anderes tun kann. Der Trick ist, auf die Waits zu verzichten. Was du brauchst, ist etwas was quasi im Hintergrund (geht ohne Interrupt) läuft. Dazu musst du die Ansteuerung der Schrittmotor-Signale und die Wartezeiten in für die Pulsausgabe und Pulspause kleine Schritte aufteilen. Als Zeitbasis ist ein Timer nötig, mit dem man die Zeit messen kann, bei dir z.B. 2ms für den Puls. …

  • Zitat von escape3d: „Leider hat das nicht geholfen. “ Was genau hast du jetzt gemacht und was genau funktioniert nach der Änderung nicht? Kompilieren geht?

  • Versuche es mal so: BASCOM-Quellcode (119 Zeilen)

  • Zitat von JOJO150272: „1 x Modul Pelletkessel 1 x Modul Solarthermie 1 x Modul Puffer-Speicher 14 x Modul Regler Räume mit Display 3 x Modul Heizungsverteiler/ Magnetventile “ Willst du jetzt ein einziges großes Programm schreiben, was alle diese Module bedient und steuert? Und das soll in dem großen Programm in Module aufgeteilt sein? Oder meinst du was anderes? Firmware für jedes Modul schreiben? Ein Schaltplan oder wenigstens ein Blockschaltbild könnte einige Fragen beantworten. Warum verbind…

  • Zitat von JOJO150272: „oder sollte man es A, B, C, D, E ..... machen? “ Wie deine Heizung funktioniert, musst du erst mal erklären. Du kennst deine Heizung aber ich nicht. Also versuche mal zu beschreiben, wie diese ganzen Dinge zusammen hängen. Sind das 2 oder mehr Heizungen? Welche Schnecke tut was, wann und gehört zu welchem Heizgerät? In deiner obigen Liste scheint es für mich, als ob du verschiedenes durcheinander bringst. Schnecken für Pellets, intern oder extern oder füllen, sind für mich…

  • Ja. Da gibt es mehrere Möglichkeiten. Für Jede Tiefe die Routinen für die Statemachine mit anderem Prefix versehen, oder die Parameter der Routinen ändern, damit man eine ID übergeben kann. Z.B. Set State(Byval ID as Byte,Byval newState as Byte) In der Include wird dann anstelle Dim _FSM_State ein Dim _FSM_State(10) Die Änderung muss bei dem Flag und beim State abfragen auch berücksichtigt werden. So kannst du auch mehrere Statemachinen verwalten. Ich frage mich aber, warum du mehrere Tiefen bra…

  • Ich glaube da gab es bei der Version ein Bug mit dem Rückgabewert. Versuche mal in Zeile 24 anstatt Select Case GetState() Select Case _fsm_State Wenn es dann geht, liegt's am Bascom-Simulator. Der Fehler wird in der nächsten Version korrigiert sein. Dann gehts wieder mit Funktion GetState().

  • Den Code kann ich so nicht kompilieren. Bitte den vollständigen Code. PS: Kann sein, dass da ein Bug in Bascom ist. Ich weiß ja nicht wo du den State setzt.

  • Welche Bascom-Version nutzt du? Wie ist dein Code?

  • Ein schönes Beispiel, dass man auch in Bascom ordentlich (kein Spaghetti-Code) und gut strukturiert, dokumentiert Projekte erstellen kann. Mein Lob!

  • Grundsätzlich hat der AVR (Mega) mindestens einen Hardware-UART, dabei stehen die Pins für RxD und TxD fest. Willst du die Pins für TxDund RxD selber festlegen, musst du einen Software-UART konfigurieren. Das hat aber für das Programm folgen. Interrupts während des Empfangs und Sendens sind je nach Art Tabu, auch gehen Empfangs-Buffer und Sende-Buffer nicht mehr. Und auch IsCharWaiting funktioniert bei Soft-UART nicht. Zudem ist die Prozessorauslastung höher, weil ja der Empfang per Software gem…

  • Zitat von papaandreas: „Es ist der Code von "Bassist", so wie oben. “ Sein Code scheint ja zu laufen, aber deiner nicht. Es macht also keinen Sinn in seinem Code den Fehler finden zu wollen. Welche Bascom-Version verwendest du? Voll-Version?

  • Zitat von HJH-MD: „Wieso Spekulationen? Hatte doch schon erklärt, dass das ganze mit dem ersten Programm problemlos funktioniert. “ Scheinbar funktioniert es wohl doch nicht so wie gewünscht. Zudem kann man eine negative Zahl nicht zur positiven machen, wenn man das SIGN-Bit maskiert. Das geht bei 2er-Komplement Darstellung nicht. Und wie Pluto schon gesagt hat, liest du 1 Bit zu viel ein (17 Bit anstatt 16). Und in deinem angehängten Code muss das Auslesen so gemacht werden: BASCOM-Quellcode (1…

  • Dann gibts wohl den Timer0 nicht bei deinem Controller? Willst du mal deinen Code zeigen?

  • Zitat von papaandreas: „Timer0 = false (also timer0=0). “ Welche Fehlermeldung? Funktioniert es denn, wenn du folgendes schreibst? Timer0=0 Wenn ja, ist bei dir 'false' nicht definiert?

  • Das Schaltbild lässt auch wieder viel Raum für Spekulationen. Welche Jumper sind nun gesteckt? Und welche Referenz-Spannung (wieviel Volt) liegt am Pin 1 des AD-Wandlers an? Die VRef und die VCC des Wandlers brauchen kein Block-Kondensator? Welche Spannung legst du an den AD-Eingängen zum Messen an, und an welchen Klemmen ist das angeschlossen? Und was ist jetzt genau dein Ziel? Messen mit der Hardware-SPI? Zumindest ist das deine Aussage im 1. Post. Was vielleicht auch noch interessant ist zu w…

  • Zitat von HJH-MD: „gerade ausprobiert. Werte von -721 bis 4095 wie bei meinem Programm. Wobei die letzten 2 Stellen sehr stark springen. “ Und was ist daran falsch? Der Wertebereich bei 12 Bit + Vorzeichen ist nun mal +- 4096 (-1). Vielleicht liegt es an deiner VCC oder am Signaleingang, wenn die letzten Stellen springen? Wie sieht denn deine Schaltung aus? Zitat von HJH-MD: „Sorry, aber ich versuche immer Bibliotheken, die ich nicht kenne, zu meiden. Werde demnächst 3 Bytes übertragen und meine…