hat keiner einen tipp wies gehen könnte?
hi,
ich will einen attiny2313 an ein bussystem hängen. dieser bus besteht aus 3 leitungen.
auf einen dieser leitungen sendet die gegenstelle einen kurzen impulse(ca 2-4 usec)
ich hab dieses signal auf portd.2
sobald ich dieses signal empfangen habe muss ich während die anderen ports die daten senden auch diesen portd.2 auf high stellen.
die anderen 2 leitungen die die daten senden und das clocksignal beinhalten sind portd.4 und portd.5
kann ich einfach mit
config portd.4 = output
config portd.5 = output
config portd.2 = input
schleife mit:
wenn portd.2 = 1 ist dann:
config portd.2 = output
set portd.2
daten senden
reset portd.2
und dann
config portd.2 = input
und dann wieder wie gehabt warten ...
mir wurde gesagt ich soll die pullup wiederstände setzen, das macht doch der befehl config ... = output für mich oder muss ich da noch was anderes beachten?
gruss
markus
hat keiner einen tipp wies gehen könnte?
Bei einem Soft-I2C geht das tadellos: (mit pullup)
an setzt das Port permanent auf LOW (PORTX.y = 0)
auf Output (DDRX.y = 1) kann man d die Leitung runterziehen
auf Input (DDRX.y = 0), kann man mit PINX.y = ? die Leitung lesen.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
der befehl config port2.d =output hat nichts mit pull ups zu tun.
Pull ups ziehen eine pin auf eine definierte Spannung (vermutlich 5 volt) und machen des wegen nur bei inputs sinn.
die pull-ups aktivierst du glaube ich per portd.2 =1 wenn portd.2 ein output pin ist.
So jetzt hoffe ich mal dass ich nicht alles durcheinader gebracht habe.
Lesezeichen