matt.b
Posts: 93
Joined: Fri Oct 19, 2012 7:23 am

Pull Up Widerstände in der Shell steuern?

Tue Jul 02, 2013 8:27 am

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

User avatar
mline
Posts: 1433
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Pull Up Widerstände in der Shell steuern?

Tue Jul 02, 2013 2:05 pm

Versuch mal gpio als eingangbzu definieren und eine 1 reinzuschreiben. So funktionierte bei Mikrocontroller
<~~>

matt.b
Posts: 93
Joined: Fri Oct 19, 2012 7:23 am

Re: Pull Up Widerstände in der Shell steuern?

Wed Jul 03, 2013 1:03 pm

Hallo mline,

deine Idee habe ich gerade gecheckt. Funktioniert aber leider nicht.

Gruss
matt

naicheben
Posts: 344
Joined: Sat Jan 28, 2012 12:28 pm
Contact: Website

Re: Pull Up Widerstände in der Shell steuern?

Wed Jul 03, 2013 2:09 pm

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.

matt.b
Posts: 93
Joined: Fri Oct 19, 2012 7:23 am

Re: Pull Up Widerstände in der Shell steuern?

Wed Jul 03, 2013 2:34 pm

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.

naicheben
Posts: 344
Joined: Sat Jan 28, 2012 12:28 pm
Contact: Website

Re: Pull Up Widerstände in der Shell steuern?

Wed Jul 03, 2013 3:04 pm

Achso, dann versuche doch mal das hier aus dem Wiki:

Code: Select all

gpio -g mode 17 up
Quelle: http://elinux.org/RPi_Low-level_periphe ... t_-_take_2

matt.b
Posts: 93
Joined: Fri Oct 19, 2012 7:23 am

Re: Pull Up Widerstände in der Shell steuern?

Wed Jul 03, 2013 3:39 pm

Um den Befehl

Code: Select all

gpio -g mode 17 up
benutzen zu können muss wiringPi installiert sein. Das will ich eigentlich vermeiden.

Trotzdem danke!

naicheben
Posts: 344
Joined: Sat Jan 28, 2012 12:28 pm
Contact: Website

Re: Pull Up Widerstände in der Shell steuern?

Thu Jul 04, 2013 6:25 pm

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 ;
}

Return to “Deutsch”