Ups, die letzten Postings waren natürlich von mir ;:)
Druckbare Version
Ups, die letzten Postings waren natürlich von mir ;:)
Allgemeine Ratlosigkeit?
Gruß Hansi
Na, ja koennte natuerlich auch eingestreute HF sein.
Nur so eine Idee von mir.
MFG
Könnte das vielleicht ein Problem mit der Versorgungsspannung sein? Evtl. mal nen Puffer-Kondensator einbauen...
Also, Versorgungsspannung konstannt 5V. Natürlich alles über Elkos gestützt.
Was mir allerdings aufgefallen ist, der Ausgang Pinc.2, an dem das Sendemodul hängt kommt im High-Zustand nur auf 0,8V ( Schaltungsbeding Basis-Emitterspg. einer Transistortreiberstufe)
Aber wie geschrieben, der Pinc.2 macht mir ja auch keine Schwierigkeiten.
Pind.0, welchern ich auf die Intleitung des I2C-Busses gelegt habe schaltet im Fehlerfall ohne ersichtlichen Grund auf Low.
Ich habe alle Befehle die den Port auf Low schalten auskommentiert und trotzdem.
Mir kommt so der Verdacht, das die bei der Initialisierung auf High-geschaltete Leitung Pinc.2 die µC intern zu stark belastet und diesen Fehler bei der Initialisierung hervorruft.
Probiere ich sofort aus und werde gleich berichten.
Gruß Hansi
Ne, war auch nicht der Gund.
Ich habe den Ausgang Pinc.2 bis zum Ende der Initialisierungsroutine auf low gesetzt, also praktisch unbelastet.
Der Fehler tritt immer noch auf. Portb.0 wird ohne einen erkennbaren Grund auf Low gesetzt bzw. nicht als Ausgang initialisiert.
Es muß damit zusammenhängen, das während des Resets Impulse an Pinc.2 ( ca. 1ms Periodendauer ) anliegen.
Auch die besagten HF-Störungen schließe ich aus, der Sender ist zu dem Zeitpunkt nicht aktiv, woher sollten die Störungen kommen?
Auch die Tatsache, das wenn es nach dem Reset läuft alles 1a im Dauertest funktioniert spricht dagegen.
Bei den ISP-Pins leiten Impule während des Resets den Programmiermodus ein, was könnte aber am Pinc.2 liegen?
Es ist weder RS232, noch TWI, noch ein von SPI genutzter Pin.
Einfach mal andere Ports benutzen? Hm, sehe ich schon als letzte Möglichkeit.
Es tritt aber bei allen ATmega8-Versionen auf.
Bye Hansi ....grübel, grübel, grübel.
PS.: Werde mir erst mal die Spannungsanpassung noch einmal genau vornehmen. ( 3V Funkmodule am 5V ATmega )
Nächster Rückschlag,
ich habe als Eingang den Pinc.3 gegen Pinc.1 getauscht.
Gleiches Spiel !
Als nächstes werde ich die Initialisierung der Ports softwaremäßig
solange durchführen bis alles wie gewollt gesetzt ist bevor ich die
eigendliche Programmschleife anspringe.
Programmieren tue ich im übrigen mit Bascom AVR. Ist da vieleicht ein
Compiler-Fehler bekannt?
Bye Hansi ...ist schon sehr merkwürdig
Guten Morgen,
nächster Test gescheitert.
Nachdem ich festgestellt habe, das im Fehlerfall Portb.0 konstant auf Low gezogen bleibt und sich auch programmtechnisch nicht wieder auf High
ziehen läßt habe ich den Port mit dem Nachbarport Portd.7 getauscht.
Ich habe sogar dieses mal nicht nur die Pullup-Widerstände der freien Ports aktiviert, sondern gleich eine Brücke auf VCC gelegt, um ein Flattern
dieser Ports auch vor der Initialisierung ausschließen zu können.
Was soll ich schreiben, erneut Fehlanzeige.
Ich habe jetzt sogar das Empfangsmodul selber getauscht, auch kein Erfolg.
Das einzige was ich bisher weiß ist, Ohne Empfangsmodul funktioniert der für das Senden zuständige Teil nach jedem! Power-on.
Wer jetzt denkt "klar, ist doch wohl unabhängig voneinander" liegt falsch.
Sende- und Empfangsroutine nutzen den TWI-Interupt und beide Routinen
nutzen den gleichen Timer für die Impulslänge.
Ich habe sogar in der eigendlichen Programmschleife eine Initroutine für die Ports eingebaut, Die µC läßt sich davon garnicht beeindrucken.
Als nächstes werde ich den Ausgang des Empfangsmoduls über ein Und-Gatter bis nach der Initialisierung blocken, mal schauen was dat Dingen dann macht.
Gruß Hansi
Ach so,
Das eingesteckte Empfangsmodul macht auch dann keine Probleme, wenn
der Datenausgang nicht angeschlossen ist.
bei mir verhält sich das ähnlich. allerdings glaube ich wenn der isp programmieradapter nicht eingesteckt ist gibts keine probleme.
gruß werner...