Hi.
Vllt. taktest du zu schnell??
Schau mal meinen Code an, der ist zwar in grausamen Basic, aber immerhin.
http://www.tobias-schlegel.de/index.php?did=18
(Code-Paket runterladen, und im Ordner "picture" findet sich der Code...)
VLG Tobi
Hi,
ich teste hier nun schon seit einigen Tagen mit meiner GB-Cam rum. Es funktioniert mittlerweile soweit, dass READ auf High geht. Allerdings geht es nach 16384 weiteren Takten (und auch sonst nie) nicht wieder auf Low. Vielleicht findet ja jemand von euch den Denkfehler...
Das Oszi zeigt auch an, dass sich am XCK nichts ändert, unverändert wird die Kamera getaktet.
Hier mein Code:
(die led-methoden schalten nur entsprechende LEDs an / aus, alle anderen Methoden sollten sich selbsterklären)Code:// reset CAM_PORT &= ~(1<<CAM_XCK); // xck lo cam_wait(4); // experimental CAM_PORT &= ~(1<<CAM_RESET); // reset lo cam_wait(4); // tSXR CAM_PORT |= (1<<CAM_XCK); // xck hi cam_wait(4); // tHXR CAM_PORT |= (1<<CAM_RESET); // reset hi // regsets cam_regset(0, 0x80); cam_regset(1, 0x0E); cam_regset(2, 0x06); cam_regset(3, 0x00); cam_regset(4, 0x01); cam_regset(5, 0x00); cam_regset(6, 0b00000101); cam_regset(7, 0x07); // start CAM_PORT |= (1<<CAM_START); // start hi cam_wait(4); // tSST (?) CAM_PORT |= (1<<CAM_XCK); // xck hi cam_wait(4); // tHST (?) CAM_PORT &= ~(1<<CAM_START); // start lo cam_wait(4); // experimental CAM_PORT &= ~(1<<CAM_XCK); // xck lo cam_wait(4); // experimental // wait for read hi while (!(CAM_PIN & (1<<CAM_READ))) { CAM_PORT |= (1<<CAM_XCK); cam_wait(8); //tWHX CAM_PORT &= ~(1<<CAM_XCK); cam_wait(8); // tWLX } led(led2,1); // while read hi while (CAM_PIN & (1<<CAM_READ)) { led(led3, 1); CAM_PORT |= (1<<CAM_XCK); cam_wait(8); // experimental CAM_PORT &= ~(1<<CAM_XCK); cam_wait(8); // experimental } led(led4, 1); // end / back to start
Hi.
Vllt. taktest du zu schnell??
Schau mal meinen Code an, der ist zwar in grausamen Basic, aber immerhin.
http://www.tobias-schlegel.de/index.php?did=18
(Code-Paket runterladen, und im Ordner "picture" findet sich der Code...)
VLG Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Hi,
die Taktung während READ == high ist, ist genauso schnell wie vorher. Daran kann es also doch eigentlich nicht liegen!?
Oder braucht die Kamera während des Datenauslesens einen langsameren Takt?
Ich werd's nachher aber einfach nochmal mit einem langsameren Takt ausprobieren und deinen Code studieren
Gruß, CowZ
PS: Seh ich das richtig, dass BLL für Besondere Lernleistung steht? Genau sowas will ich mit der Kamera auch machen, können uns ja vllt weiter austauschen![]()
Hi
Hm. Naja, bis die Camera mal "bap" sagt, muss man schon viel rumprobieren...
Ja, BLL ist ne Besondere LernLeistung.
Ich hab die ja quasi schon fertig, insofern
VLG Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Hi,
hab mich jetzt mal mit meinem Oszi und meinem Multimeter rangesetzt...
An Xck ist die Frequenz 31kHz.
Das ist doch ansich ganz gut für die Kamera oder? Langsamere und schnellere Taktungen bringen auch keine besserung
Sonst noch irgendjemand irgendeine Idee?
Gruß, CowZ
Rumspielen hilft.
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Hi,
kannst du mir verraten, was du damals gemacht hast? Du hattest ja genau das gleiche Problem(*alte.threads.rauswühl*) Sehe gerade, dass es bei dir an den Registereinstellungen lag...
Werde mal n bisschen damit rumspielen (Tipps an welchen Registern?), sind ja nur 256^10 Möglichkeiten
Gruß, CowZ
Das Problem scheint tiefer zu liegen. Habe jetzt rechtviele verschiedene Registereinstellungen ausprobiert. Darunter deine und die die aus dem Tutorial. Auch alle(!) Kombinationen dieser beiden.
Read bleibt auf High. Weiß nicht mehr wirklich weiter..
Gruß, CowZ
hm.
Kannst du dir an nem Oszi anschauen, was da abgeht?
Zähl mal beim Register laden die Impulse nach etc...
VLG Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Hi,
habe leider nur ein Analog-Oszi, da ist nicht viel mit abzählen
edit:![]()
Funktioniert jetzt. Warum werden die Adresse und die Daten bloß "von hinten" (also Bit 3 vor Bit 2) gesandt? Verdammt... Dummer Fehler
![]()
Danke trotzdem für deine Hilfe, werd bestimmt nochmal drauf zurückkommen
Gruß, CowZ
Lesezeichen