Hi, ich hab einen Atmega128A über SPI an einen AD9954 DDS angeschlossen. Anscheinend hab ich auch richtig programmiert, denn direkt nachdem ich die Schaltung anschmeisse und einen Befehl sende kommt ein Signal aus dem DDS. Allerdings hab ich jetzt das Problem, dass nach einigen 100ms nichts mehr geht. MOSI und SCK sind auf 2.19V und mein Programm hängt sich in der Warteschleife, die wartet, dass das SPI Datenregister geleert wird auf. Ich kann also nichts mehr über SPI senden, aber ich verstehe nicht warum. Wie kann es sein, dass MOSI und SCK nach einiger Zeit 2.19V sind und nicht die ganze Zeit?
/SS nicht beschaltet ... dein SPI wird irgendwann in den Slave-Mode gezogen. Das sinnvollste ist es allemal, /SS für das chip select deines Slaves gleich zu nutzen. Damit ist es zwangsweise ein Ausgang, und obiges kann dir nicht passieren. Du musst aber die Schaltung nicht unbedingt ändern; es genügt völlig, wenn du PB0 zum Ausgang machst und dann nie wieder anfasst. Es ist übrigens sinnvoll, unbenutzte Pins bei der Initialisierung entweder als Ausgang festzulegen oder aber deren Pullups zu aktivieren, damit sie nicht floaten können. Ein Eingang, der in der Nähe seiner Schaltschwelle floatet, kann u. U. laufend hin und her schalten, wobei er einiges an Strom zieht (durch das interne Umladen der Kapazitäten, die dahinter dranhängen).
Mein Atmega kann in den Slave Mode gezogen werden, obwohl ich definiere, dass er im Mastermode arbeiten soll? Das ist mal krass find ich...
Grad getestet das wars! Wie soll man da von alleine drauf kommen! Danke!!!
@Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite >damit sie nicht floaten können. Ein Eingang, der in der Nähe seiner >Schaltschwelle floatet, kann u. U. laufend hin und her schalten, wobei >er einiges an Strom zieht (durch das interne Umladen der Kapazitäten, >die dahinter dranhängen). Wenn es mal nur das wäre. Viel stromhungriger ist der Querstrom, den die Gatter nahe der Schaltschwelle ziehen. Auch wenn CMOS hier eher gutmütig ist. @ rubbellos (Gast) >Grad getestet das wars! Wie soll man da von alleine drauf kommen! Das Datenblatt GENAU lesen und auch einhalten. MfG Falk
Hi
>Das Datenblatt GENAU lesen und auch einhalten.
Gibt es sogar einen extra Abschnitt: SS Pin Functionality.
MfG spess
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.