Hallo,
wie man in der Shell die GPIO-Pins steuern ist mir bekannt (echo "2" > /sys/class/gpio/export, usw.).
Kann man mit so einem Befehl auch die Pull-Up-Widerstände der Eingänge steuern?
Konnte bisland noch nichts finden.
Gruss
matt
Re: Pull Up Widerstände in der Shell steuern?
Versuch mal gpio als eingangbzu definieren und eine 1 reinzuschreiben. So funktionierte bei Mikrocontroller
<~~>
Re: Pull Up Widerstände in der Shell steuern?
Hallo mline,
deine Idee habe ich gerade gecheckt. Funktioniert aber leider nicht.
Gruss
matt
deine Idee habe ich gerade gecheckt. Funktioniert aber leider nicht.
Gruss
matt
Re: Pull Up Widerstände in der Shell steuern?
Sind die Pullups nicht aufgelötet?
EDIT: habe den Schaltplan von Rev.1.0 mal angeschaut, die I2C Pullups sind fest aufgelötet und können somit nicht wie bei AVR und Co. gesteuert werden.
EDIT: habe den Schaltplan von Rev.1.0 mal angeschaut, die I2C Pullups sind fest aufgelötet und können somit nicht wie bei AVR und Co. gesteuert werden.
Re: Pull Up Widerstände in der Shell steuern?
Bei den I2C-Pins ist das so. Bei den restlichen Pins sind im Chip Pull-Up Widerstände eingebaut. Und ich würde diese gerne über die Shell steuern. Leider habe ich noch überhaupt gar nichts in der Richtung gefunden.
Re: Pull Up Widerstände in der Shell steuern?
Achso, dann versuche doch mal das hier aus dem Wiki:
Quelle: http://elinux.org/RPi_Low-level_periphe ... t_-_take_2
Code: Select all
gpio -g mode 17 up
Re: Pull Up Widerstände in der Shell steuern?
Um den Befehl
benutzen zu können muss wiringPi installiert sein. Das will ich eigentlich vermeiden.
Trotzdem danke!
Code: Select all
gpio -g mode 17 up
Trotzdem danke!
Re: Pull Up Widerstände in der Shell steuern?
Ich habe mal geschaut wie wiringPi das macht. In der Shell über sysfs gehts meiner Meinung nach überhaupt nicht. Im Kernel ist das scheinbar gar nicht integriert. Gordon setzt das Register dementsprechend direkt so:
Code: Select all
/*
* pullUpDownCtrl:
* Control the internal pull-up/down resistors on a GPIO pin
* The Arduino only has pull-ups and these are enabled by writing 1
* to a port when in input mode - this paradigm doesn't quite apply
* here though.
*********************************************************************************
*/
void pullUpDnControlGpio (int pin, int pud)
{
pin &= 63 ;
pud &= 3 ;
*(gpio + GPPUD) = pud ; delayMicroseconds (5) ;
*(gpio + gpioToPUDCLK [pin]) = 1 << (pin & 31) ; delayMicroseconds (5) ;
*(gpio + GPPUD) = 0 ; delayMicroseconds (5) ;
*(gpio + gpioToPUDCLK [pin]) = 0 ; delayMicroseconds (5) ;
}
void pullUpDnControlWPi (int pin, int pud)
{
pullUpDnControlGpio (pinToGpio [pin & 63], pud) ;
}
void pullUpDnControlSys (int pin, int pud)
{
return ;
}