Forum: Mikrocontroller und Digitale Elektronik ARDUINO als usb stick


von Christian (Gast)


Lesenswert?

Hallo allerseits

Ich mochte mit dem arduino ein usb stick emulieren mit datein, der aber 
erkennt wenn mam ein datei offnet und eine led eischaltet je nach datei.

Gruß Christian

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Christian schrieb:
> Ich mochte mit dem arduino ein usb stick emulieren mit datein,

Mit einem Arduino auf Basis eines der mit USB-Device-Fähigkeit 
ausgestatteten AVRs ist das durchaus möglich.

Der Arduino Micro mit ATmega32U4 ist ein Kandidat dafür.

https://store.arduino.cc/usa/arduino-micro

> der aber erkennt wenn mam ein datei offnet

Das wird schwierig; ein USB-Mass-Storage Device weiß nicht, was Dateien 
sind, es kennt nur Speicherblöcke.

Du musst also statt MSD das "picture transfer protocol" (PTP) umsetzen, 
dann hast Du Chancen, Deine Idee umzusetzen.

https://de.wikipedia.org/wiki/Picture_Transfer_Protocol

Als Softwaregrundlage kannst Du LUFA einsetzen.

http://www.fourwalledcubicle.com/LUFA.php

Das hat auch schon jemand auf Arduino portiert.

https://github.com/Palatis/Arduino-Lufa

von Christian (Gast)


Lesenswert?

Danke dir viel mals für deine hilfe.

Ich werde es mit folgenden tools versuchen, danke.

von Henrik Haftmann (Gast)


Lesenswert?

Hallo,
ich habe nun MTP/PTP (Media Transport Protocol) auf ATmega32U4 
erfolgreich implementiert und auf 4 KByte eingedampft. LUFA kommt mir 
nicht ins Haus, und als Urlader dient ubaboot. 24 KByte vom Flash dienen 
in der Demo als Massenspeicher, 256 Byte vom EEPROM zur FAT-ähnlichen 
Verwaltung.

Hier ist es:
http://www.tu-chemnitz.de/~heha/pc/Programmiergeräte/Wild%20GIF12/#7.1
Es ist effektiv ein 24-KByte-USB-Stick.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Danke für Deine wie üblich hochinteressante Arbeit.


Henrik Haftmann schrieb:
> LUFA kommt mir nicht ins Haus

Was sind die Gründe dafür?

von Henrik H. (Firma: TU Chemnitz) (heha)


Lesenswert?

Frameworks sind hervorragend dazu geeignet, Kode aufzublähen und 
undurchschaubar zu machen. Dazu gehören Arduino (Software) und eben 
LUFA, die obendrein verflochten sind. Mit Frameworks etwas zu lösen, 
wofür sie nicht gemacht sind, ist umso mehr ein Graus. (Hier würde es 
vermutlich ausnahmsweise irgendwie gehen. Aber warum 1000 Fetzen LUFA 
studieren, wenn's 50 Seiten Atmel-Doku viel genauer tun?) Es ist IMHO 
eine Katastrophe, Arduino Anfängern vorzusetzen: Letztlich wissen sie 
nicht was sie tun. Können sie auch nicht! Frameworks, insbesondere mit 
lückenhafter, nichtmuttersprachlicher Dokumentation gehören auf den 
Müll, nicht ins Schulbuch.

Ich habe LUFA niemals zum Laufen gebracht. (Ob es je mit WinAVR2010 
geht?)
Brauche ich auch nicht; usb.cpp ist (mir) ein viel schönerer 
Ausgangspunkt für eigene Projekte: Alle Einstellschräubchen (bspw. 
Deskriptoren) in einer Datei. Außerdem compiliert's viel schneller.

Übrigens, schon mal aufgefallen, dass bei Intel alle Prozessoren mit 80 
anfangen? DOS-Programmierer kennen Int21 (hex) ohne dass es dafür jemals 
eine symbolische (selbstredend: englische) Konstante gab: Zahlen müssen 
eben nicht übersetzt werden! Daher gibt's bei mir fast keine 
symbolischen Konstanten für numerische Konstanten, sondern Kommentare.

Beitrag #5881197 wurde von einem Moderator gelöscht.
von Stefan F. (Gast)


Lesenswert?

Henrik H. schrieb:
> Es ist IMHO eine Katastrophe, Arduino Anfängern vorzusetzen

Zum Programmieren Lernen ist es suboptimal. Aber mit Arduino können 
Anfänger schnell ausprobieren, wozu Mikrocontroller gut sind und so zu 
ihren ersten positiven Aha-Erlebnissen kommen. Diese wiederum können 
Motivierend wirken, weiter zu gehen.

Man lernt nicht, Autos zu bauen, indem man sie fährt. Aber man erlebt, 
warum wir Autos bauen: z.B. Freude am Fahren.

von Veit D. (devil-elec)


Lesenswert?

Henrik H. schrieb:
> Frameworks sind hervorragend dazu geeignet, Kode aufzublähen und
> undurchschaubar zu machen. ...

Selten solchen pauschalisierten Schwachsinn gelesen.

von Stefan F. (Gast)


Lesenswert?

Henrik H. schrieb:
> Ob es je mit WinAVR2010 geht?

Wen interessiert das 9 Jahre später? Ich würde lieber eine aktuelle 
Toolchain verwenden.

> Übrigens, schon mal aufgefallen, dass bei Intel alle
> Prozessoren mit 80 anfangen?

Das stimmt nicht. Einer der ersten war der Intel 4004, gefolgt von 4040. 
Dann gab es zum Beispiel diverse Pentium Varianten, von denen nur einer 
die Nummer 80586 trug, weiter geht es mit Celeron, Core 2, diverse Core 
i Varianten usw. Nur sehr wenige haben eine 80 in der Nummer.

von Jörg E. (jackfritt)


Lesenswert?

Irgendwie finde Ich auf Anhieb keinen 24kb USB Stick Code wenn Ich dem 
link folge. Was mach Ich falsch?

von Stefan F. (Gast)


Lesenswert?

Jörg E. schrieb:
> Irgendwie finde Ich auf Anhieb keinen 24kb USB Stick Code wenn Ich dem
> link folge. Was mach Ich falsch?

Wie bitte?

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.