PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : anderes gameboy-cam problem



onkelarne
03.06.2005, 02:41
hallo zusammen,
hab hier ne gameboy kamera, die ich vor geraumer zeit bei ebay erstanden habe, angeschlossen und probier ein wenig damit herrum... und schon hab ich ein problem. hab ne zeit lang selber nach dem fehler gesucht, dann google um rat gebeten - hat alles nix genutzt.

das problem:
ich reset die kamera, lade register und starte das teil... dann geht der READ pin auf high... soweit alles schön und gut nur der READ pin denkt überhaupt nicht daran - selbst nach unzählig vielen tausend takten nicht - mal wieder auf low zu gehen, was er ja eigentlich müsste, oder?

zum takt:
ich warte zur zeit noch immer 2/1000000 sekunden nach einem logischen wechel von XCK (externer ADC noch nicht eingebunden, geht nur um READ)- müsste doch erst einmal funktionieren, oder? hab auch schon n code mit timer geschrieben, aber das nutzt ja alles nicht solang die kamera noch nicht will!

beim mcu handelt es sich um einen mega32, mit WINAVR programmiert.
READ hab ich sowohl per schleife als auch mit den leds vom stk500 überprüft... klappt beim wechsel von low auf high auch wunderbar

ziel ist es meinem neuen roboter ein auge zu verleihen, so dass die bilder über bluetooth (bluetooth läuft schon bestens) versand werden. mein pda wird die fernsteuerung (mit ms eMbedded c++ auch sehr geil und einfach zu programmieren). motorsteuerung, sensoren und der ganze spaß werden dabei von einem spi(nach ein bischen tüftelei wunderbar bi-directional) slave (mega16) übernommen.

ich hoffe ihr könnt mir helfen und die kamera is nich schrott ;)
reingehauen

Pascal
03.06.2005, 09:24
selbst nach unzählig vielen tausend takten nicht

wieviele tausend Takte hast du denn abgewartet, denn, wenn es richtig funktioniert, musst du 16384(o.ä.) Takte abwarten

onkelarne
03.06.2005, 11:49
die hab ich wohl gewartet...
unter anderem hab ich das mit zwei for schleifen in einander, die jeweils von 0 bis einschl. 127 laufen, probiert. so müsst's ja funzen... tut's aber nicht.
dann hab ich's nochmal mit ner while-schleife, die abbrechen soll, sobald READ wieder low wird, getestet... bleibt auch high

danke trotzdem


...read, die sau - immer high ;)

15.06.2005, 16:01
Hi!

Ich habe genau das gleiche Problem. Hast du dafür schon eine Lösung gefunden?

pebisoft
15.06.2005, 21:21
wenn du in winavr proggen tust, kann ich dir das programm geben. habe ich umgestellt für mein avr. nach ca 16000 byte schaltet meiner und beginnt wieder von vorn. nur die adc-daten liegen zur zeit bei 224 - 254.
mfg pebisfoft

onkelarne
16.06.2005, 00:39
ne hab noch nicht herrausgefunden, woran es liegt...
wenn, dann lass ich es euch wissen!

tobimc
16.06.2005, 09:29
Hi!

Ich habe das gleiche Problem, wie roboter auch.
(Siehe langen GBC-Thread)

Ich vermute, dass etwas mit unserem Timing, den Registern, dem Reset oder sonstwas nicht stimmt.
Ausserdem bekomme ich nur Werte um 230, und das bis in alle Unendlichkeit.

Wenn ich mein Anzeigeprogramm geschrieben habe, werde ich mal damit anfangen, dieses Problem zu lösen!

Viele liebe Grüße,
Tobi

tobimc
16.06.2005, 20:19
Hi Jungs!

habe das problem gerade gelöst gehabt.
Es muss irgendwas mit den Registern zu tun haben!
Ich glaube, wenn bei mir die Register einen Bestimmten Wert haben, geht mein Read auf LOW!!

Kann natürlich auch an einer fehlerhaften Schreibroutine liegen...

Liebe Grüße,
Tobi

roboter
16.06.2005, 22:42
Hi!

Die Sache mit dem Timing glaub ich eher nicht. Habe in der Hinsicht alles mögliche ausprobiert...

Welche Registereinstellungen hast du denn?
Ich habe nämlich alles mögliche ausprobiert und die Register im Moment noch gar nicht verändert.
Wenn du deine Registerwerte mal reinschreibst, probier ich das mit denen auch mal aus und schau mal was mein Readpin dann macht O:) O:) O:)

tobimc
17.06.2005, 15:29
Hi!

Regadr = 0 'Register NUMMER 0:
Regvalue = &H80
Call Loadreg()

Regadr = 1 'Register NUMMER 1:
Regvalue = &H0C
Call Loadreg()

Regadr = 2 'Register NUMMER 2:
Regvalue = &H04
Call Loadreg()

Regadr = 3 'Register NUMMER 3:
Regvalue = &H05
Call Loadreg()

Regadr = 4 'Register NUMMER 4:
Regvalue = &H01
Call Loadreg()

Regadr = 5 'Register NUMMER 5:
Regvalue = &H00
Call Loadreg()

Regadr = 6 'Register NUMMER 6:
Regvalue = &H01
Call Loadreg()

Regadr = 7 'Register NUMMER 7:
Regvalue = &B00000111
Call Loadreg()

:D