Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > > > > > > 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 > > <b>UART is in RS232 level.</b> > > > > 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). > > > > <b>If connect to the MCU, please add a level converter or remove the MAX3232 ic.</b> > > 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 > > > > > was mir grad noch durch den kopf geht.... > deine ganzen > > Dim reset(4)= {&H56, &H00, &H26, &H00} As Long > > ect. warum Long???? > die einzelnen werte sind doch Bytewerte > > Verwende As Byte.... >