Hallo zusammen,
das ist mein erster Beitrag hier also entschuldigt falls irgendetwas
nicht 100%ig den REgeln entsprechen sollte, es war keine Absicht!
Also, ich habe mir folgendens Experimentierpaket gekauft:
http://www.franzis.de/online-shop/elektronik/lernpakete-elektronik/lernpaket-experimente-mit-usb
Dabie ist ein FTDI232R Chip. Den habe ich nach Anleitung auch an meinem
WinXP Rechner zu laufen bekommen, inkl. kleinem PRogram in VB um einen
Reed-Kontakt abzufragen. Damit wollte ich den Gasverbrauch messen (wird
ja mehrmals erwähnt wie das geht)
So,unter WinXP läuft das. Jetzt würde ich das gerne an meinen NSLU2 mit
Debian anschliessen. Also, gesagt getan:
tail -f /var/messages sagt folgendes:
Apr 7 21:02:42 nslu2 kernel: [42954326.900000] usb 3-1: new full speed
USB device using ohci_hcd and address 3
Apr 7 21:02:42 nslu2 kernel: [42954327.100000] usb 3-1: configuration
#1 chosen from 1 choice
Apr 7 21:02:42 nslu2 kernel: [42954327.110000] ftdi_sio 3-1:1.0: FTDI
USB Serial Device converter detected
Apr 7 21:02:42 nslu2 kernel: [42954327.110000] ftdi_sio: Detected
FT232RL
Apr 7 21:02:42 nslu2 kernel: [42954327.120000] usb 3-1: FTDI USB Serial
Device converter now attached to ttyUSB0
Apr 7 21:02:42 nslu2 kernel: [42954327.150000] usb 3-1: New USB device
found, idVendor=0403, idProduct=6001
Apr 7 21:02:42 nslu2 kernel: [42954327.150000] usb 3-1: New USB device
strings: Mfr=1, Product=2, SerialNumber=3
Apr 7 21:02:42 nslu2 kernel: [42954327.160000] usb 3-1: Product: FT232R
USB UART
Apr 7 21:02:42 nslu2 kernel: [42954327.160000] usb 3-1: Manufacturer:
FTDI
Apr 7 21:02:42 nslu2 kernel: [42954327.170000] usb 3-1: SerialNumber:
A9004h1X
lsusb sagt das:
nslu2:/work/libftdi-0.15# lsusb
Bus 003 Device 003: ID 0403:6001 Future Technology Devices
International, Ltd FT232 USB-Serial (UART) IC
unter dev sehe ist ttyUSB0
Er scheint also erkannt worden zu sein. Nur, wie gehts jetzt weiter. Wie
kann ich den Reed-Kontakt, der an CTS und Masse angeschlossen ist
abfragen?
Danke für die Antworten!
Gruß
Hi,
danke für deine Hilfe. Ich habe mir das jetzt mal durchgelesen, leider
bin ich glaube ich etwas zu blöd dafür. Könntest du mir kurz sagen wie
ich vorgehen muss?
Die Code-Schnipsel sind in C, oder?
Hi,
nochmals zur Erläuterung. Ich hatte mir das so gedacht:
NSLU2(Debian) läuft sowieso immer, USB-Board mit FT232R anschliessen,
dort an CTS und Masse den Redd-Kontakt dran, per Cronjob CTS abfragen
nach 0 oder 1.
Geht das oder ist das etwas zu einfach gedacht?
FTDI_Newbie wrote:
> Hi,> danke für deine Hilfe. Ich habe mir das jetzt mal durchgelesen, leider> bin ich glaube ich etwas zu blöd dafür. Könntest du mir kurz sagen wie> ich vorgehen muss?> Die Code-Schnipsel sind in C, oder?
genau.
Hi,
danke, leider bekomme ich folgendes beim compillieren:
hal.c: In function 'int main()':
hal.c:5: error: 'O_RDWR' was not declared in this scope
hal.c:5: error: 'open' was not declared in this scope
hal.c:11: error: 'TIOCMGET' was not declared in this scope
hal.c:11: error: 'ioctl' was not declared in this scope
hal.c:14: error: 'TIOCM_CTS' was not declared in this scope
Tut mir ledi das ich vielleicht so einfache fragen stelle aber bin
absoluter Newbie was USB & C betrifft!
Danke nochmals und Gruß
bei gcc bekome ich folgenden Fehler:
nslu2:/work# gcc hal.c
hal.c: In function 'main':
hal.c:5: error: 'O_RDWR' undeclared (first use in this function)
hal.c:5: error: (Each undeclared identifier is reported only once
hal.c:5: error: for each function it appears in.)
hal.c:11: error: 'TIOCMGET' undeclared (first use in this function)
hal.c:14: error: 'TIOCM_CTS' undeclared (first use in this function)
Hi,
vielen Dank für die Antwort, ich habe es nun kompilliert bekommen!
Leider bin ich gerade auf der Arbeit, kann also den Reed-Kontakt nicht
testen. Werd ich aber heute abend als erstes machen!
Meld mich dann nochmasl!
also, danke schonmal!
Gruß
Hi,
danke nochmals, nun funktioniert es :-)
Leider ist die Lösung nicht die eleganteste weil ich ja nicht auf das
"Signal" des Reed-Kontakts reagieren sondern dauerhaft (alle 500ms)
abfrage ob CTS = 0 oder = 1 ist. aber vielleicht werde ich das auch
irgendwann nochmals besser hinbekommen.
Also, vielen vielen Dank für die Hilfe!!
Gruß
Hi,
ja, meinte mein Arbeitskollege auch!
Würde ich auch gerne, könntest du mir sagen wie ich das mache. Bin eher
ewtas "unerfahren" in diesen Dingen :-)
Hi,
ich schon wieder. Ich habe jetzt mal versucht mich einzulesen was
Interrupts berifft. Leider bin ich irgendwie kein Stück schlauer
geworden.
Könnte jemand einem absoluten Anfänger wie mir das mal erklären. Ich
würde also gerne, wie Michael X. geschrieben hat, einen Interrupt
auslösen wenn auf der Leitung CTS eine Pegeländerung stattfindet.
Vielen Dank im voraus!!