Tyche Geschrieben November 21, 2012 at 08:40 Autor Share Geschrieben November 21, 2012 at 08:40 Genau das habe ich gemacht, so habe ich es auch soweit geschafft, das mit den .h und .c Dateien zu korrigieren, aber jetzt weiß ich nicht weiter... beides sieht gleich aus. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
Nic Geschrieben November 21, 2012 at 08:44 Share Geschrieben November 21, 2012 at 08:44 Hast du das Projekt von rifmetroid starten können ? Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
Tyche Geschrieben November 21, 2012 at 09:01 Autor Share Geschrieben November 21, 2012 at 09:01 Also, ne Fehlermeldung bekomme ich bei ihm nicht, aber Folgendes kommt in der Konsole: "CPP-Konsole-TF.exe": "C:\Users\Daniel\Desktop\CPP-Konsole-TF\Debug\CPP-Konsole-TF.exe" geladen, Symbole wurden geladen. "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\ntdll.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\kernel32.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\KernelBase.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\ws2_32.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\msvcr100d.dll" geladen, Symbole wurden geladen. "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\rpcrt4.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\nsi.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\sspicli.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\cryptbase.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\sechost.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\bcryptprimitives.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\mswsock.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\nlaapi.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\msvcrt.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\NapiNSP.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\pnrpnsp.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\dnsapi.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\winrnr.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Program Files (x86)\Bonjour\mdnsNSP.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\IPHLPAPI.DLL" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\winnsi.dll" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\FWPUCLNT.DLL" geladen, Cannot find or open the PDB file "CPP-Konsole-TF.exe": "C:\Windows\SysWOW64\rasadhlp.dll" geladen, Cannot find or open the PDB file Der Thread 'Win32-Thread' (0x878) hat mit Code 1 (0x1) geendet. Der Thread 'Win32-Thread' (0x1118) hat mit Code 1 (0x1) geendet. Der Thread 'Win32-Thread' (0x1060) hat mit Code 1 (0x1) geendet. Das Programm "[372] CPP-Konsole-TF.exe: Systemeigen" wurde mit Code 1 (0x1) beendet. Was soll das Programm eigentlich machen? Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
rifmetroid Geschrieben November 21, 2012 at 09:22 Share Geschrieben November 21, 2012 at 09:22 Das Programm verbindet sich mit einem Master per IP-Adresse und schaltet dann ein Dual-Relay einfach mehrfach hin und her. Welches Betriebssystem hast du eigentlich? Die Meldungen kannst du getrost ignorieren, das sind nur Warnungen, da du natürlich die System-DLL's nicht debuggen kannst, da dir dafür ein paar Dateien fehlen (die Microsoft sicherlich auch nicht unbedingt einfach so rasurückt). Das Programm sollte dann also eigentlich korrekt ausgeführt werden. Hast du mal versucht einen Breakpoint zu setzen und dann einfach Schritt für Schritt durch das Programm zu gehen? Kannst du deine TF-Sachen eigentlich über den Brickviewer sehen und ansprechen? Schreib mal bitte, wie dein TF-Aufbau aussieht, wie willst du die Verbindung zu TF machen, verbindest du den Rechner per USB zum Master oder hast du ne WIFI-Extension? Welches Bricklet hast du am Master angeschlossen und welche ID hat das Bricklet? Wenn du mir die Infos geben kannst, schreibe ich dir ein Programm, was genau darauf abgestimmt ist und auch funktionieren sollte. Gruß rif Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
Tyche Geschrieben November 21, 2012 at 09:44 Autor Share Geschrieben November 21, 2012 at 09:44 Aaaalso: Ich benutze Windows 8 64-Bit Ich habe nur den Masterbrick (UID: ayURipYr5od) mit dem USB Kabel angeschlossen Im Brickviewer wird er erkannt, jedoch wird keine Stack Voltage oder Stack Current angezeigt, auch wenn ich noch z.B. nen anderen Masterbrick oder nen Servobrick anschließe. Brauchst du mehr infos?? Und noch ne Bitte: Wenn is möglich ist, kannst du die example_stack_status einbinden? Wäre echt nett... Und was ist ein Dual-Relay Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
rifmetroid Geschrieben November 21, 2012 at 09:55 Share Geschrieben November 21, 2012 at 09:55 Das hier ist ein Dual-Relay Bricklet: https://shop.tinkerforge.com/bricklets/dual-relay-bricklet.html Hast du nur den Master oder auch Bricklets, die du daran anschließen kannst? Das die Stack-Voltage und Current nicht angezeigt werden, liegt daran, dass du das USB-Kabel angeschlossen hast. Dort werden meines Wissens nur Werte angezeigt, wenn es ein Stack ist (mehrere Bricks) und dieser per Step-Down-Powersupply versorgt wird. Wenn du ein Bricklet hast, dann schließe das mal an und gib mir den Namen und die UID des Bricklets. Ich mach dir dann ein Programm fertig, das läuft. Falls du kein Bricklet hast, bekomme ich auch irgendwas vom Master ausgelesen. Ein Bricklet wäre aber wesentlich interessanter. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
Tyche Geschrieben November 21, 2012 at 09:58 Autor Share Geschrieben November 21, 2012 at 09:58 Natürlich: Hier die ID für nen IR-Sensor (4-30 cm): asP Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
AuronX Geschrieben November 21, 2012 at 10:38 Share Geschrieben November 21, 2012 at 10:38 Falls das noch hilft: Die Fehlermeldungen aus deinem Log (nicht aufgelöstes externes Symbol) deuten für mich darauf hin, dass die *.c Dateien der IPConnection nicht mit kompiliert wurden, sondern nur die *.h Dateien. Dann kennt er die Methoden (weil die in den h-Dateien deklariert wurden), kennt aber keine Implementierung (die normalerweise in den zugehörigen c-Dateien liegt). Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
rifmetroid Geschrieben November 21, 2012 at 10:56 Share Geschrieben November 21, 2012 at 10:56 So, jetzt ein Projekt, was genau mit deinen UID's erstellt ist. Sollte also theoretisch auf Anhieb funktionieren. Als erstes werden die USB-Voltage und Temperatur vom Master gelesen, danach wird einmal die Entfernung des Distance_IR gelesen. Als letztes wird ein Callback registriert, der die die Werte des Distance_IR ausspucken sollte, bis du eine Eingabe an der Konsole machst, dann wird das Programm beendet. CPP-Konsole-TF.zip Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
Tyche Geschrieben November 21, 2012 at 12:39 Autor Share Geschrieben November 21, 2012 at 12:39 Hm... bei mir öffnet sich nur das Konsolenfenster, welches sich nach ein paar Sekunden wieder schließt... In der Konsole von Visual C++ steht dann (Glaube ich) "Das Programm wurde mit 0x100 beendet". Bin mir grad nich sicher, kann aber grade nicht an den richtigen PC ^^ Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
rifmetroid Geschrieben November 21, 2012 at 12:42 Share Geschrieben November 21, 2012 at 12:42 Setz mal im Programm einen Breakpoint ganz am Anfang und geh dann das Programm Schritt für Schritt durch. Dann siehst du wenigstens an welcher Stelle das Programm einen Abgang macht. Schreib dann mal hier rein, an welcher Stelle der Fehler genau auftaucht. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
Tyche Geschrieben November 21, 2012 at 12:59 Autor Share Geschrieben November 21, 2012 at 12:59 Sorry, aber wie setze ich einen Breakpoint? Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
rifmetroid Geschrieben November 21, 2012 at 15:16 Share Geschrieben November 21, 2012 at 15:16 Ok, du hast noch eine Menge Arbeit vor dir Einen Breakpoint setzt du mit F9. Du musst nur an die entsprechende Stelle im Quelltext klicken und dann F9 drücken. Wenn du das Programm dann startest, hält es an der Stelle an und du kannst mit F10 Schritt für Schritt weitergehen. Wenn du den Mauszeiger über die Variablen hältst, wird dir auch noch angezeigt, wie der Inhalt der Variablen ist. Hier nochmal ein Youtube Video bezgl. Debugging. Ist zwar auf Englisch, aber meiner Meinung nach recht verständlich. Den Breakpoint in dem Projekt setzt du auf dieser Zeile: IPConnection ipcon; Von da aus gehst du dann mit F10 weiter, bis das Programm mit dem Fehler beendet. Du solltest dabei erkennen können, bei welchem Aufruf der Fehler kommt. Ich empfehle dir dringend, dich über Visual Studio zu informieren, wie es generell funktioniert, wie man Projekte richtig anlegt, wie man richtig debugged etc. Ich würde dir evtl. auch raten mit einer etwas einfacheren Sprache anzufangen (z.B. C#). C++ ist als Newbie nicht so einfach zu händeln, da man eine Menge berücksichtigen muss. C# nimmt einem diese Sachen relativ gut ab und man kann sich erstmal darum kümmern, das eigentliche Programmieren zu verstehen und zu lernen. Wenn du erstmal eine Sprache kannst, ist es nicht mehr schwer, sich in andere einzuarbeiten. Nur mal so als Hinweis. Ich hoffe, dass du jetzt langsam mit dem Projekt zum Erfolg kommst und ein erstes lauffähiges Programm bekommst! Gruß rif Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
rifmetroid Geschrieben November 26, 2012 at 09:48 Share Geschrieben November 26, 2012 at 09:48 Ich wollte nur mal kurz wissen, ob du das Programm jetzt zum Laufen bekommen hast? Gruß rifmetroid Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
Tyche Geschrieben November 27, 2012 at 17:26 Autor Share Geschrieben November 27, 2012 at 17:26 Hm... offenbar ist der IR Sensor defekt... In der sich nur kurz öffnenden Konsole lese ich "Could not connect to Bricklet" Im Brickviewer, wird der IR-Sensor allerdings erkannt... Ich habe jetzt den zweiten ausprobiert, auch die ID brav korrigiert, und siehe da, es funktioniert. Ein dickes danke an alle, die mir so wunderbar geholfen haben, bzw. es versucht haben. DANKE Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
rifmetroid Geschrieben November 27, 2012 at 17:32 Share Geschrieben November 27, 2012 at 17:32 Gerne, dafür ist so ein Forum doch auch da! Viel Spaß weiterhin beim Tinkern! Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.