Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: linkesprite jpeg color camera Kategorie: Programmierung Basic (von SvenA - 22.12.2012 17:45)
Als Antwort auf Re: linkesprite jpeg color camera von Lorenzo - 21.12.2012 15:32
Ich nutze:
C-Control Pro Mega128
> > Es wäre sehr hilfreich dein Aktuelles Programm zu kennen um zu sehen was du hast und was nicht.
> >
> Hallo,
>
> da ist das Programm:
>
> Sub main()
> Dim receive As Byte
> Dim reset(4)={&H56, &H00, &H26, &H00} As Byte
> Dim baud(7)={&H56, &H00, &H24, &H03, &H01, &H2A, &HF2} As Byte
> Dim init_end(15)={&H36, &H32, &H35, &H0D, &H0A, &H49, &H6E, &H69, &H74, &H20, &H65, &H6E, &H64, &H0D, &H0A} As Byte
> Dim take(5)={&H56, &H00, &H36, &H01, &H00} As Byte
> Dim readsize(5)={&H56, &H00, &H34, &H01, &H00} As Byte
> Dim readjepeg(16)={&H56, &H00, &H32, &H0C, &H00, &H0A, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00} As Byte
> Dim stop(5)={&H56, &H00, &H36, &H01, &H03} As Byte
>
> Serial_Init(0,SR_8BIT Or SR_1STOP Or SR_NO_PAR,SR_BD38400)
>
> Serial_WriteText(0,reset)
> Serial_WriteText(0,baud)
>
> Serial_WriteText(0,init_end)
> AbsDelay(3000)
> Serial_WriteText(0,take)
> Serial_WriteText(0,readsize)
> Serial_WriteText(0,readjepeg)
> Do While 1
> receive=Serial_ReadExt(0)
> If receive= &HD9 Then
> Serial_WriteText(0,stop)
> End If
> End While
> End Sub
>
>
> Grüsse
> Lorenzo

Hi Lorenzo,

ja das ist ja nicht gerade sehr viel...

Ich muÃ? jetzt einfach mal nachfragen, da es schon wichtig ist wie jetzt weiter gegangen wird.
? Was soll die C-Control mit den Bilddaten eigentlich machen?

ich hatte dir ja schon den Lösungsansatz genannt gehabt.

Die Do While Schleife ist hier die Lösung.

Aber zuerst muss vielleicht mal ein paar Grundlegende Dinge überdacht werden.

Ist dir eigentlich Bewusst was dein Programm da macht?
Ich mein du sendest Befehlsfolgen an die Cam ohne selbst auf ihre Rückmeldungen zu reagieren.

Die Meldung nach dem Einschalten ist erstmal soweit in Ordnung, das Zeigt uns zudem auch gleich das
die Leitungen und Pegel nun Stimmen und Funktionieren.

Du solltest dir nochmal vor Augen halten wie das Protokoll der Cam Ausschaut.
Auf jeden Befehl von dir zur Cam antwortet die Cam.

Beispiel Die Grö�e des JPEG der Cam.

Dim GetJPEGSize(5)={&H56, &H00, &H34, &H01, &H00} As Char

Dim JPEGSize_Return(7)={&H76, &H00, &H34, &H00, &H04, &H00, &H00} As Char


Du sendest GetJPEGSize zur Cam diese Antwortet mit dem RETURN Code
Wobei die letzten 2 Byte in dem ReturnCode HighByte und LowByte der Grö�e sind.

bei einem 1kbyte groÃ?em Bild bekommst du als Antwort von der Cam
&H76, &H00, &H34, &H00, &H04,&H04, &H00

Du errechnest die As Integer grö�e indem du Das HighByte mit 256 Multiplizierst und dann das
LowByte Addiert.

Also &H04*256+0 (=1024 = 1kByte)

Du Musst also die Antworten der C-Control auch auswerten. Das machst du nicht.

Bei 8.2 im SchemaDiagram siehst du was passiert um ein bild zu Lesen

1. Du Sendest zur Cam: &H56, &H00, &H36, &H01, &H00
2. Cam Antwortet mit : &H76, &H00, &H36, &H00, &H00
3. Du Sendest zur Cam: &H56, &H00, &H34, &H01, &H00
4. Cam Antwortet mit : &H76, &H00, &H34, &H00, &H00
5. Du Sendest zur Cam: &H56, &H00, &H32, &H0C, &H00, &H0A, &H00, &H00, MH, ML, &H00, &H00, KH, KL, XX, XX
Wobei MH und ML die high und LowByte der Adresse in den BildDatas sind
KH und KL die high und LowByte der Menge der zu lesenden Daten sind
Und XX XX stehen für den Spacing Interval, vorgeschlagen wird 00 0A

6. Cam Antwortet mit: &H76, &H00, &H32, &H00, &H00, XX,XX,XX,XX,XX,XX (Spacing Interval), &HFF, &HD8, BILDDATEN, &HFF,&HD9

Für Dich heisst es genaugenommen alles was du nach &HFF,&HD8 empfängst sind die gewuenschten Bilddaten
Das Bild ist zuende wenn du &HFF , &HD9 Empfängst

GruÃ?









    Antwort schreiben


Antworten:

Re: linkesprite jpeg color camera (von Lorenzo - 29.12.2012 21:39)
    Re: linkesprite jpeg color camera (von SvenA - 30.12.2012 13:38)