Hio. Jaaa ich habs geschaft nen (und nicht nur eins) Bild mit der Gamelboy-Kamera zu schießen. Saß gestern noch ein paar (viele) Stunden vorm Rechner und hab dann ganz spät in der Nacht die ersten Bilder geschossen. Grauenhaft allerdings ist die Empfindlichkeit der Kamera, was hier ja schon besprochen wurde. Da muss ich noch tuenen. Sonst ist alles perfekt. Keine komischen Streifen oder sonst was im Bild. Nur ein Problem habe ich noch (und das hat mich einige Nerven gekostet). Und zwar war mir das direkte Übertragen jedes einzelnen Pixels (also z. B. Pixel x,y lesen durch den AD-Wandler laufen lassen und dann via USART an PC schicken) viel zu langsam. Bei mir dauert das bei 38400 Baud etwa 4 Sekunden. Dann habe ich gedacht das ich ein uint8_t-Array mit genügend Speicherplatz für alle Bildpunkte erstelle und das dann am Stück schicke... Das habe ich gemacht und hin und her Programmiert und dann ging nichts mehr. Mein µC (so bin ich am Schluss draufgekommen) ist gar nicht erst richtig gestartet. Vor lauter *******-Flüchen habe ich dann auch noch fälschlicherweise den ISP-Programmer in den PORT-D gesteckt. (Klar, dass es in diesem Fall dann auch Fehler gab). Der ISP-Programmer ist ganz sicher nicht kaputt, ich kann ihn immernoch verwenden ohne das Fehler beim Übertragen eines Programms entstehen. Wie bekomme ich heraus ob mein armer PORT-D jetzt kaputt ist oder nicht? Ist dann da alles kaputt oder wie ist das? Nunja und irgendwan habe ich dann KamAVR beschuldigt und gedacht das Programm macht nur noch Schrott. Bin dann auf ProgrammersNotepad umgestiegen und fand dann nach einigen stressigen Momenten im Output folgende Zeile:
Data: ...(768.0% Full)...
Dann war mir klar was los war. Mein SRAM ist ja nur 2kB groß... Viel zu klein um so ein riesiges Array zu speichern. Naja am Schluss ging dann wieder alles. Was mit dem Port-D los ist weiß ich halt noch nicht.
Im Anhang sind 2 Bilder. Die sind von der Qualität noch nicht so optimal. Da muss ich wohl an den Einstellungen der Cam noch ein wenig rumspielen...
Jetzt noch eine Frage nebenbei: Die höchste Baudrateneinstellungen die im Datenblatt des Atmega32 zu finden ist (Seite 166) ist 1M Baud. Ziemlich schnell. Nur kann ich, wenn ich diese Baudrateneinstellung verwende, nichts mit dem BrayTerminal empfangen (bei HypterTerminal lässt sich das gar nicht erst einstellen)... Auch das Javaprogramm Camera Image Viewer lässt sich da nicht ändern. Es gibt ne Exception wenn ich die Baudrate im Code auf 1M Baud setze. Für alle Nichtjavakenner. Ne Exception ist ganz einfach ein Fehler. Die sagt mir das die Baudrate zu hoch ist. Mit welcher Baudrate kann man den maximal mit nem PC kommunizieren. Das höchste was ich rausholen konnte waren die genannten 38400 Baud. Ein bisschen wenig denke ich. Was sagt ihr?
Grüße
Lutz
EDIT: Ich posten später noch den Code. Aber mein Hund sah schon auf dem Foto nicht so erfreut aus. Ich glaub der muss mal um die Ecke...![]()
![]()
Lesezeichen