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 - 17.12.2012 22:37)
Als Antwort auf Re: linkesprite jpeg color camera von Lorenzo - 17.12.2012 22:06
Ich nutze:
C-Control Pro Mega128
> > > > > > Ich habe die Kamera der TXD an PE0  und der RXD  an PE1 angeschlossen.
> > > > > >
> > > > > > Ich habe folgendes Programm geschrieben :
> > > > > >
> > > > > >
> > > > > > 'Hauptprogramm
> > > > > > Sub main()
> > > > > > Dim reset(4)= {&H56, &H00, &H26, &H00} As Long
> > > > > > Dim returnr(4)= {&H76, &H00, &H26, &H00} As Long
> > > > > > Dim picture(5)= {&H56, &H00, &H36, &H01, &H00} As Long
> > > > > > Dim returnp(5)= {&H76, &H00, &H36, &H00, &H00} As Long
> > > > > >
> > > > > >
> > > > > > Serial_Init(0,SR_8BIT Or SR_1STOP Or SR_NO_PAR,SR_BD19200)
> > > > > >                                                   'Init RS232: 19200 bps, 8 Bit, 1 Stop, NP
> > > > > > Serial_WriteText(0,reset)
> > > > > > Serial_WriteText(0,returnr)
> > > > > > Serial_WriteText(0,picture)
> > > > > > Serial_WriteText(0,returnp)
> > > > > > End Sub
> > > > > >
> > > > > > Ist das Programm so richtig ?
> > > > > > Nachstehend das "Comunication Protocol":
> > > > > >
> > > > > > 1. Reset
> > > > > >
> > > > > > Command (HEX)   56 00 26 00
> > > > > > Return      (HEX)   76 00 26 00
> > > > > >
> > > > > > 2.Take picture
> > > > > >
> > > > > > Command (HEX)  56 00 36 01 00
> > > > > > Return      (HEX)  76 00 36 00 00
> > > > > >
> > > > > > 3.Read JPEG file size
> > > > > >
> > > > > > Command (HEX)  56 00 34 01 00
> > > > > > Return      (HEX)  76 00 34 00 04 00 00 XH XL
> > > > > >
> > > > > > 4.Read JPEG file content
> > > > > >
> > > > > > Command (HEX) 56 00 32 0C 00 0A 00 00 MH ML 00 00 KH KL XX XX
> > > > > > Return (HEX)      76 00 32 00 00
> > > > >
> > > > >
> > > > > du solltest auf jedenfall noch masse beider geräte, (cam und c-control) verbinden
> > > > >
> > > > >
> > > > > ImManual steht.... (Baumdiagramm ablauschema) bei 8.1
> > > > >
> > > > > Camera Power on
> > > > >
> > > > > INIT END ......
> > > > >
> > > > > Delay 2-3 Seconds, and send take Picture command
> > > > >
> > > > > du wartest in deinm program schon mal nicht.....
> > > > >
> > > > > auch dein einlesen der bilddaten ist mir im groben überblick etwas rätselhaft.
> > > > >
> > > > > du holst in keiner schleife die informationen schau dir punkt 8.2 (Take Jpeg ...) genau an
> > > > > folge den diagramverlauf...
> > > > >
> > > > >
> > > >
> > > > Vielen Dank für deine Antwort,
> > > >
> > > > ich habe ein C-Control PRO128 Projectboard.
> > > > Die Kamera ist an GND an Vcc an PE0 und PE1  angeschlossen.
> > > > Lese ich die Datei mit Serial_ReadExt ?
> > > > Ich werde den Diagrammverlauf besser anschauen.
> > > >
> > > > Gruesse
> > > > Lorenzo
> > >
> > > Hallo Lorenzo,
> > >
> > > ist wohl die elegantere lösung... da du hier leicht erkennen kannst ob noch daten ankommen (EOF)
> > >
> > > Rückgabewert
> > >
> > >  
> > > empfangenes byte aus der seriellen Schnittstelle
> > > 256 (0x100) kein Zeichen in der Schnittstelle
> > >
> > > Ist das empfangene byte=256 wird nichts mehr von der cam übertragen
> > >
> > > dann müsste deine Prüfung wie folgt ausschauen
> > >
> > >
> > > Do While 1   ' Endlosschleife
> > > byte=Serial_ReadExt(0)  
> > >     If byte=256 Then
> > >         Exit ' bricht Schleife ab
> > >
> > >     End If
> > > 'Ein byte von 0-255 wurde empfangen, und kann hier dann weiterverarbeitet werden
> > >
> > >
> > > End While
> > >
> > >  
> > >
> > > Gruss
> >
> >
> > Nabend Lorenzo,
> >
> > ich hab mir das Manual jetzt mal genauer angeschaut... ;) das kannst du übrigens auch.
> > Ich kenn die Cam Nicht, aber sieht interessant aus ;)....
> >
> > Also was mir jetzt aufgefallen ist....
> >
> > 1. Es gibt im Manual immer eine SEND und eine RETURN Combi.
> > Sie SendCombi ist das was du zur CAM schickst, die RETURN angaben sind das was du von der CAM erhalten
> > solltest im erfolgsfalle.
> >
> > Beispiel bei 7.3
> > Read JPEG file size
> > Du sendest :56 00 34 01 00  
> > Und erhälst als antwort Return  76 00 34 00 04 00 00 XH XL
> > Wobei XH und XL die grö�e des bildes darstellen.
> >
> > Kurz, alles was bei RETURN in dem Handbuch steht sind werte die du von der CAM lesen musst.
> > Nicht zur Cam Senden!
> >
> > Anderes Beispiel:
> > 7.7 im Handbuch
> >
> > 7.7 Image size (Höhe und Breite einstellen)
> > Command 1  
> > Du sendest                                    Die Cam Antwortet mit
> > 56 00 31 05 04 01 00 19 00  640*480      76 00 31 00 00
> > 56 00 31 05 04 01 00 19 11  320*240      76 00 31 00 00
> > 56 00 31 05 04 01 00 19 22  160*120      76 00 31 00 00
> >
> > Hoffe das hilft dir weiter ;)
>
> Ich habe meine Programm erweitert:
>
> 'Hauptprogramm
> Sub main()
>
> Dim byte As Byte
> Dim reset(4)= {&H56, &H00, &H26, &H00} As Long
> Dim picture(5)= {&H56, &H00, &H36, &H01, &H00} As Long
> Dim read(5)={&H56, &H00, &H34, &H01, &H00} As Long
> Dim readjpeg(9)={&H56, &H00, &H31, &H05, &H04, &H01, &H00, &H19, &H22} As Long
> Dim stop(5)={&H56, &H00, &H36, &H01, &H03} As Long
> Dim ratio(9)={&H56, &H0, &H31, &H05, &H01, &H01, &H12, &H04, &H00} As Long
> Dim power(7)={&H56, &H00, &H3E, &H00, &H01,&H01} As Long
> Dim baud(7)={&H56, &H00, &H24, &H03, &H01, &H56, &HE4} As Long
> Dim init_end(20)={&H36, &H32, &H35, &H0D, &H0A, &H49, &H6E, &H69, &H74, &H20, &H65
> , &H6E, &H69, &H74, &H20, &H65, &H6E, &H64, &H0D, &H0A} As Long
>
>
> Serial_Init(0,SR_8BIT Or SR_1STOP Or SR_NO_PAR,SR_BD19200)
> Init RS232: 19200 bps, 8 Bit, 1 Stop, NP
>
> Serial_WriteText(0,baud)
> Serial_WriteText(0,reset)
> Serial_WriteText(0,init_end)
> AbsDelay(3000)
> Serial_WriteText(0,picture)
> Serial_WriteText(0,ratio)
> Serial_WriteText(0,read)
> Serial_WriteText(0,readjpeg)
>
>
> Do While 1   ' Endlosschleife
>
>     byte=Serial_ReadExt(0)
>
>     Msg_WriteChar(byte)
>
>     If byte=256 Then
>     Exit ' bricht Schleife ab
>
>     End If
> 'Ein byte von 0-255 wurde empfangen, und kann hier dann weiteverarbeitet werden
>
> End While
>
> Serial_WriteText(0,stop)
>
>
> End Sub
>
>
> die Datenausgabe mit oder ohne Kamera ist gleich
>
> im Manual auf 7.9  UART  ist geschrieben dass MAX232 entfernt oder convertiert werden soll,
> wie wird das gemacht.
> Ich hoffe dich nicht zu sehr zu Stressen und bin für deine Hilfe dankbar-
>
> Grüsse
> Lorenzo
>


Hi Lorenzo,

du meinst
UART is in RS232 level.

Also der MAX3232 IC macht aus ein TTL Signal ein RS232 Sprich er hebt die Pegel an

TTL = 0/5 V, RS232 0/12V (soweit ich mich erinnere)

(nachfolgend nur vermutung, da ich das modul nicht kenne / habe)
Auf der Platine wird ein Chip sein mit der Bezeichnung MAX3232, Dieser macht aus einem 0/5V pegel
das RS232 Komforme Signal sprich 0/12V von der Cam kommend und umgekehrt.
Macht er aus einem RS232 Signal (0/12v) ein TTL Signal (0/5V).

If connect to the MCU, please add a level converter or remove the MAX3232 ic.
Wenn du die cam an ein MCU (MicroChipUnit) anschliesst, sollst du entweder das RS232 Signal
durch einen zusätzlichen Konverter in TTL und verwenden oder den Chip Max3232 entfernen.

hab mir grad nochmal das Manual angeschaut....

unter 4.2 findest du die lösung ;)

4.2 Hardware connection
l LS - Y201 - TTL (TXD) to UART-USB (RXD).
l LS - Y201 - TTL (RXD) to UART-USB (TXD).
l LS - Y201 - TTL (GND) to UART-USB (GND). At the same time it also need to
connect to GND in power.
l LS - Y201 - TTL (VCC) to +5V DC power.

daraus vermute ich, das der UART-USB seperat an das Cam Modul angeschlossen ist?

Bleibt die frage, hast du dieses Modul dann oder gehst du direkt von der Cam zum µC.

Was mir noch aufgefallen ist, deine Init der SerialCom  hast du auf 19200 Baud,
im Manual der Cam steht bei

2. Specification

Default baud rate of serial port is 38400


du solltest ggf. diese geschwindigkeit auch im Programm einstellen statt 19200



    Antwort schreiben


Antworten:

Re: linkesprite jpeg color camera (von SvenA - 17.12.2012 22:57)
    Re: linkesprite jpeg color camera (von Lorenzo - 20.12.2012 20:53)
        Re: linkesprite jpeg color camera (von SvenA - 20.12.2012 23:13)
            Re: linkesprite jpeg color camera (von Lorenzo - 21.12.2012 15:32)
                Re: linkesprite jpeg color camera (von SvenA - 22.12.2012 17:45)
                    Re: linkesprite jpeg color camera (von Lorenzo - 29.12.2012 21:39)
                       Re: linkesprite jpeg color camera (von SvenA - 30.12.2012 13:38)