Forum: Mikrocontroller und Digitale Elektronik USB und ATmega8


von Potter S. (potter68)


Lesenswert?

Hi,

ich habe mit dem ATmega8 und dem PDIUSBD12 eine kleine Schaltung 
gebastelt. Das Gerät ist als HID-Klasse implementiert. Es sendet und 
empfängt über Interrupt- und Control-Endpunkte.

Die Firmware liest den AD-Wandler aus und sendet Daten eines 
Entfernungssensors an den PC. Dort wird der Wert in Form eines Balkens 
visualisiert. Außerdem kann man per Knopfdruck eine LED an- und 
ausschalten.

Wer interesse hat findet das Ganze bei rahand.eu. Kritik und Anregungen 
erwünscht.

Gruß Ralf

von MR (Gast)


Lesenswert?

gibts das auch in basic oder nur in C

von antworter (Gast)


Lesenswert?

@Ralf:

Habe mal kurz in Dein interessantes Projekt reingeschaut.

Schön, daß Du es frei zugänglich machst (habe noch 2 PDI's rumliegen) !

Eine Frage: Warum mußtest Du auf das Windows-DDK zurückgreifen, wenn der 
PDI als HID-Device konfiguriert ist - sollte es da nicht schon mit 
High-Level-Funktionen gehen ?

Noch eine Frage: Hattest Du schonmal die libusb-win32 probiert ? Mir 
schien, man könne mit dieser den ganzen DDK-Kram umgehen.

von z0m3ie (Gast)


Lesenswert?

Er benutzt doch Higher level Funktionen ?!
Und mit LibUSB wirds nicht weniger Code.
Ich finds schön gelöst.

von antworter (Gast)


Lesenswert?

@z0m3ie

Soviel ich weiß, ist das DDK für Treiberentwicklung da - also nichts mit 
"High Level".

von z0m3ie (Gast)


Lesenswert?

Er nutzt doch überhaupt keinen Treiber.
Hast du den Code überhaupt mal angeschaut ?!

von antworter (Gast)


Lesenswert?

Zitat von seiner Seite:

Die Funktionen verwenden das Windows-DDK (Driver Development Kit), 
welches kostenlos bei Microsoft heruntergeladen werden kann.

von T.S. (Gast)


Lesenswert?

Ralf

Eigentlich OT hier, dafür ist doch die Codesammlung da. ;-)
Trotzdem... Respekt für Dein Projekt!

Zwar habe ich diesen Sensor nicht, kann also nichts testen.

Beim anschauen der Quelltexte, speziell in der Win App "USB Distance 
Sensor" gefällt mir sehr gut das Du ohne MFC und das ganze .Net Zeugs 
auskommst. Das macht das Programm sehr schlank und schnell, aber auch 
einige Arbeit.

Keine Kritik, nur als Tip gemeint, weil ich selbst häufig mit VS6 
arbeite: Das kannst Du bedenkenlos in "USB Distance Sensor.zip" 
entfernen, spart einige Bytes beim Download:

*.ncb
*.opt
*.plg
\Debug

Torsten

von Potter S. (potter68)


Lesenswert?

Hi,

@antworter: es ging mir bei dem Projekt vor allem um den Lerneffekt. Ich 
hab mir das Buch von J.A. gekauft und losgelegt. Dabei hat sich das mit 
dem DDK quasi von selber ergeben. Die libusb kannte ich nicht aber ich 
werde sie mir mal anschauen. Durch die Auswahl der HID-Klasse hab ich 
mir den Treiber gespart, da der bei Windows standardmäßig mitgeliefert 
wird.

@Torsten: Ohne den Sensor liefert der AD-Wandler keine sinnvollen Werte 
und der Balken zappelt dann einfach nur hin und her. Danke für den 
.zip-Tip. Ich habe die Dateien upgedated.

von H.Baydoun (Gast)


Lesenswert?

Hi,

ich würde auch gerne mit dem PDIUSBD12 arbeiten.
Wo kann ich dein sourcen runterlanden?

HBY

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.