Bascom Master - Slave - Slave hängt manchmal

Nun erklaer mir mal Sickboy, woran das liegt, wenn nicht an Bascom?
es ist einfach, Bascom die Schuld zu geben, aber ohne Quelltext siehst du sicher ein, dass das keiner nachvollziehen kann, oder?
Du hast auch im Parallelthread nur behauptet, dass es an Bascom liegt, aber dort gab es auch keinen Quelltext.
Ich hätte den Helfern hier wenigstens die Chance gegeben, diese Behauptung nachvollziehen zu können.

Und damit hast Du auch schon mein Testprogramm fuer den Master.
Keine Prozessorangabe, keine Stackwerte, keine Kommentare. Ich hoffe, das ist nur ein exemplarisches Beispiel.
Mir fällt da sofort die fehlende I2C Registeranfrage ins Auge.

Deshalb bitte ich Dich jetzt hoeflich auf derartige Ironie in deinen Antworten mir gegenueber in Zukunft zu verzichten. Genau wegen solchen provokanten Texten habe ich mich aus dem Mikrocontroller.net abgemeldet, da bekommt man nur noch solche Antworten, egal ob man Recht hat oder nicht.
Aus meiner Sicht sieht es so aus, dass du die Schuld in Bascom suchst und nicht bereit bist, den Quelltext zu posten um anderen die Chance der Nachvollziehbarkeit zu geben. Es könnte ja doch ein Fehler im Programm sein, was dann? Es könnte auch ein Fehler in Bascom sein, dann könnte man den verifizieren und die nächste Version verbessern.

Wenn du dich angegriffen fühlst, dann tut mir das leid, ich bitte dich aber auch mal die Sache aus meiner Sicht zu betrachten.

SickBoy
 
Ich fand die Worte auch ziemlich hart gewählt, aber das soll hier nicht zum Thema werden.

Aber zum Thema Quelltext veröffentlichen:
Vergiss nicht dass es manchmal auch berechtigte Gründe gibt den nicht zu veröffentlichen. Einerseits wären das Richtlinien von Firmen oder Lizenzrechte bei Fremdkomponenten oder oder oder. Oder Diebstahl.
Habe ich ja selber an meinem Shotty erlebt. Das war erst die zweite Anwendung auf dem Markt (die Erste war kostenpflichtig) die halbtransparente Screenshots herstellen konnte (bei aktiviertem Aero Glass unter Vista/7). Was meinste wie schnell mein Code, Zeile für Zeile, übernommen worden ist? Nu gibt es zig Anwendungen die das können. (Nein, es war kein OpenSource, aber es gibt Disassembler für .Net. Ja es gibt Tools um das zu verhindern, aber mit Verschlüsselung, Verstümmelung und so, ich find das nicht ganz koscher).
Deswegen bin ich auch keinem böse wenn er freiwillig keinen Quelltext oder nur Auszüge davon beilegt.

Und zum Topic:
Scheinbar läuft es ja jetzt, freut mich für dich :)
Daher würde ich die Wahrscheinlichkeit auch sehr hoch schätzen dass es an Bascom liegt. Und (wenn ich mich nicht irre) wurde es in einem anderem Thread bereits herausgefunden und den Entwicklern mitgeteilt. Ich hab zumindest mal so etwas gelesen. Ob es nun genau das Problem war kann ich aber nicht mehr sagen. (war es nicht sogar in den bereits verlinkten?)


Keep cool :cheers:
 
Hallo,

ui ... da ist man mal draußen am basteln und schuften und wenn man abends mal reinschaut ist die Suppe schon beinahe am überkochen :rolleyes:

Also die Bemerkung von Tommy ...
Aber zum Thema Quelltext veröffentlichen:
Vergiss nicht dass es manchmal auch berechtigte Gründe gibt den nicht zu veröffentlichen. Einerseits wären das Richtlinien von Firmen oder Lizenzrechte bei Fremdkomponenten oder oder oder.
... hat schon so seine Berechtigung. Nach meiner Info ist die I2C-Slave-Lib für Bascom ClosedSource und muß bezahlt werden. Also selbst wenn er Quelltext rausgeben würde könnte den keiner übersetzen der diese Lib nicht gekauft hat.

Und zum Topic:
Scheinbar läuft es ja jetzt, freut mich für dich :)
Daher würde ich die Wahrscheinlichkeit auch sehr hoch schätzen dass es an Bascom liegt. Und (wenn ich mich nicht irre) wurde es in einem anderem Thread bereits herausgefunden und den Entwicklern mitgeteilt. Ich hab zumindest mal so etwas gelesen. Ob es nun genau das Problem war kann ich aber nicht mehr sagen. (war es nicht sogar in den bereits verlinkten?)

@Uwe: Hab jetzt nicht mehr alles im Kopf aber so wie ich es verstanden habe hast du nur Atmels als Slaves am laufen. Also keine "normalen" I2C-Slaves am Bus.

In Bascom ist ja zB auch die Lib für Drehencoder etwas "einfach" umgesetzt (rn-wissen.de - Drehencoder). Dort wird nach meiner Info keine vollständige Statemachine verwendet sondern nur eine Richtung ausgewertet. Wenn es die dann nicht ist muß es ja sozusagen zwangsläufig die andere Drehrichtung sein.

Wenn es am I2C-Mastercode liegt müßte der Fehler ja eigentlich auch bei normalen I2C-Bausteinen auftreten und dann wesentlich häufiger auftauchen. Daher nehme ich mal an das es eher am Slave-Code liegt. Wenn die Auswirkungen im Master sind könnte es ja immer noch sein das der Slave den Master (der evtl auch einfach gestrikt ist) irgendwie aus dem Tritt bringt.

Es scheint hier einiges miteinander verwoben zu sein. Wo der Hase nun begraben liegt oder ob es sogar mehrere Stellen sind die zusammen zu diesem Fehlerbild führen müßte man nun mal genauer untersuchen. Das Problem besteht nun allerdings in der kostenpflichtigen Slave-Lib (MCS - Add on libraries for PS/2 emulation, AVR-DOS, I2C Slave)

- I2CSLAVE is an add-on product for BASCOM-AVR. Price: EUR 14.95

Es können also nur die helfen, die auch eine Lib gekauft haben um den Code übersetzen zu können. Ich habe keine gekauft.

Gruß
Dino
 
@Sickboy:

Ich bin nicht jemand, der das Problem zuerst bei anderen (in dem Fall Bascom) sucht. Auch mein erster Gedanke war, dass wir irgendwo nen Fehler nen Bug im Programm haben, was auch in 99,9999% aller Faelle zutrifft. Obwohl wir die Routine hier staendig einsetzen, haben wir uns nochmal das Datenblatt von Atmel ausgedruckt und die Routine Zeile fuer Zeile geprueft.
Anschliessend dasselbe beim Master, obwohl es da nicht viel zu pruefen gab. Weiter gings mit der Hardware. Oszilloskop, Analysator, uCs gegen neue getauscht, uCs gegen Aeltere aus einer anderen Serie getauscht, usw. Glaub mir, ich hab von Donnerstag letzte Woche uebers ganze Wochenende bis gestern morgen taeglich 12 Stunden mit meinem Kollegen hier am Schreibtisch gesessen und getestet. Und weiterhin denke ich darueber nach, ob wir nicht irgendwas uebersehen haben.

Zu der Frage mit dem Quellcode:
Der Busterror-Quellcode fuer Master und Slave befindet sich in gekuerzter Version in meinem aktuellen Beitrag zu meinem 150m-Bus, dort sind auch die Configparameter des Slaves und des Masters. Den kompletten Quellcode kann und darf ich nicht veroeffentlichen, da es sich um ein gewerbliches Projekt handelt. Ausserdem macht das eh keinen Sinn, da die Stoerquelle ja bereits eingekreist ist. Mein Versuchsaufbau hier enthaelt auch nur die Kommunikationsroutinen, nichts weiter. Ein Einfluss durch andere Programmteile entfaellt damit.
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)