Forum: Mikrocontroller und Digitale Elektronik probleme mit gpiolib auf einem sam9G45


von garbageman (Gast)


Lesenswert?

Hallo

Entweder bin ich zu blöd oder ich hab irgendetwas Wichtiges vergessen, 
aber ich versuche schon den ganzen Nachmittag bzw. Abend zumindest einen 
GPIO Pin eines SAM9G45 anzusprechen (ich verwende ein ICnova Modul). Die 
Linuxkernelversion ist 2.6.33.2 Ich bin kompletter Anfänger in der 
embedded Linux Welt und weis jetzt einfach nicht mehr weiter. Zum Setzen 
der GPIOs verwende ich die eingebaute GPIO- Lib. Ich hab mich auch 
vergewissert, dass die GPIOs auch wirklich GPIOs sind und nicht 
vielleicht durch andere Pinfunktionen überschrieben werden. Wenn ich nun 
einen Pin als Ausgang setzen will geht das auch problemlos in der 
Debugkonsole. Es gibt keine Fehlermeldungen oder dergleichen. Wenn ich 
mir mit "cat direction value" die aktuellen Werte des GPIO Pins ansehe, 
dann steht da auch ganz richtig " out 1".
Am Board selbst kann ich an dem entsprechenden Pin auch 3.3V messen. 
Diese 3.3V kommen aber offensichtlich vom Pullupwiderstand, denn wird 
der Pin etwas mehr belastet als mit den paar Megaohm des Multimeters 
(mit einer LED + Vorwiderstand die 3mA bei 3,3V fließen lassen sollte), 
dann sackt die Spannung an dem Pin sofort auf Werte um die 2V. Das 
deutet darauf hin, dass die Pins noch immer als Eingänge definiert sind. 
Habe es schon mit den verschiedensten Pins ausprobiert.

Hardwaredefekte sind auch weitestgehend auszuschließen, da ich an 
anderen Pins des gleichen I/O Ports, die dedizierten Funktionen 
zugeordnet sind, (z.B. LCD Controller) eindeutig die Konfiguration als 
Output nachweisen kann (LED leuchtet).
1
BusyBox v1.13.2 (2010-12-17 12:12:21 CET) built-in shell (ash)
2
Enter 'help' for a list of built-in commands.
3
4
$ su -
5
6
7
BusyBox v1.13.2 (2010-12-17 12:12:21 CET) built-in shell (ash)
8
Enter 'help' for a list of built-in commands.
9
10
# cd /sys/class/gpio
11
# l
12
-sh: l: not found
13
# ls
14
export       gpiochip160  gpiochip64   unexport
15
gpiochip128  gpiochip32   gpiochip96
16
# echo 106 > export
17
# cd gpio106
18
# ls -als
19
   0 drwxr-xr-x    2 root     root            0 Dec 31 17:01 .
20
   0 drwxr-xr-x    8 root     root            0 Dec 31 17:00 ..
21
   0 -rw-r--r--    1 root     root         4096 Dec 31 17:01 active_low
22
   0 -rw-r--r--    1 root     root         4096 Dec 31 17:01 direction
23
   0 -rw-r--r--    1 root     root         4096 Dec 31 17:01 edge
24
   0 lrwxrwxrwx    1 root     root            0 Dec 31 17:01 subsystem -> ../../                          gpio
25
   0 -rw-r--r--    1 root     root         4096 Dec 31 17:01 uevent
26
   0 -rw-r--r--    1 root     root         4096 Dec 31 17:01 value
27
# echo out > direction
28
# echo 1 > value
29
# cat direction value
30
out
31
1
32
#

Ich hoffe es kann mir jemand bei meinem Problem helfen

MfG

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.