Hallo, ich habe hier einen Atmega32 den ich über ISP programmieren..und daran ein SPI IC... Wenn ich die ich glaube SDO Leitung abklemme, kann ich den mega flashen, sidn aber beide an dem IC und dem mega dran, klappt das Flashen nicht mehr... Ist das normal? Ich dachte immer, Spi lässt sich beliebig parallel schalten.
Es fehlt ein externer Pull-Up Widerstand am CS deines SPI-ICs.
am cs? Wieso am CS? Wenn ich SDO bzw SDI das weiß ich egrade nicht, vom anderen IC abklemme klappt es doch aber Daten senden kann ich sowohl per ISp zum Mega also auch mit dem Mega zum IC..hmmm
@ Tomas (Gast) >am cs? >Wieso am CS? Damit der IC DEselektiert wird und den Schnabel hält, sprich SEINEN SDO Ausgang, welcher an MISO angeschlossen ist, hochohmig schaltet und nicht ISP stört.
ISP wird durch -Reset aktiviert, SPI slave durch -CS. Du musst nun sicherstellen, dass während die Atmega Pins durch den Reset in High-Z gehalten werden -CS deaktiviert ist
Tomas schrieb: > ich habe hier einen Atmega32 den ich über ISP programmieren..und daran > ein SPI IC... > Wenn ich die ich glaube SDO Leitung abklemme, kann ich den mega flashen, > sidn aber beide an dem IC und dem mega dran, klappt das Flashen nicht > mehr... > Ist das normal? Ja. > Ich dachte immer, Spi lässt sich beliebig parallel schalten. Ja, nur ist SPI != ISP, auch wenn die gleichen Buchstaben in den Akronymen vorkommen und sich die beiden Schnittstellen beim AVR oft (aber längst nicht immer) die Pins teilen. Es ist wie immer: Man muß einfach wissen, was man tut und nicht bloß fremden unverstandenen Code zusammenkopieren. Wenn z.B. im Normalbetrieb der AVR der Master ist und alle angeschlossenen SPI-Slaves über einen eigenen /CS bzw. /CE-Anschluß verfügen, ist es kein Problem, dann muß nur jeder dieser Anschlüsse einen externen Pullup nach Vcc verpaßt bekommen und der entsprechende Slave wird sich in der Folge beim Programmieren via ISP nicht (mehr) störend bemerkbar machen. Auch einfach zu beherrschen ist die Sache, wenn es statt /CE oder /CS bei einem der Slaves nur CE oder CS gibt. Dann muß es halt statt des PullUp ein PullDown-Widerstand werden. Ist hingegen ein IC beteiligt, der nicht über einen /CS oder /CE-Anschluß verfügt oder ist der AVR im Normalbetrieb nicht der alleinige SPI-Master, dann wird es erheblich komplizierter. Dann muß man erst recht wissen, was man tut und nicht nur fremden unverstandenen Code zusammenkopieren...
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.