Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ MENU ⇨ BIBLIOTHEQUE ⇨ gpiolib.bbc

PROC_gpio_alt()

DESCRIPTION.


La procédure PROC_gpio_alt() place une broche du GPIO en mode alternatif  (SPI, I2C, UART, ...).



SYNTAXE.


PROC_gpio_alt( gpio , broche , fonction ) 




REMARQUES.

 

gpio doit être l'identifiant de la variable qui à reçue la valeur retournée par la fonction FN_gpio_setup.


broche doit être un nombre entier compris entre 0 et 30, correspondant au numéro de broche GPIO (BCM, Broadcom) qui doit être placée en fonction alternative. broche n’est pas un numéro physique d'une broche (pin 1–40) mais le numéro interne du SoC.


fonction doit être un nombre entier indiquant quelles fonction alternative sera associée à bronche. fonction peut être : 

- pour les modèles Pi 2, Pi 3 et Pi 4 :

- 2, pour associer la fonction ATL5, fonctions alternatives (PWM (autres pins), debug) ;

- 3, pour associer la fonction ATL4, fonctions spéciales (horloges, signaux vidéo)  ;

- 4, pour associer la fonction ATL0, interfaces principales (I2C, SPI0, UART0, PWM) ;

- 5, pour associer la fonction ATL1, interfaces secondaires (SPI1, UART1) ;

- 6, pour associer la fonction ATL2, bus parallèle / LCD ( DPI (écran parallèle)  ;

- 7, pour associer la fonction ATL3, audio / flux ( 2S / PCM) ;

- pour le modèle Pi 5 :

- 0, pour associer la fonction ATL0, (GPIO standard  : entrée / sortie) ; 

- 1, , pour associer la fonction ATL0, (GPIO secondaire ou optionnelle) ; 

- 2, pour associer la fonction ATL0, (SPI) ; 

- 3, pour associer la fonction ATL0, (I2C) ; 

- 4, pour associer la fonction ATL0, (UART) ;

- 5, pour associer la fonction ATL0, (PWM) ; 

- 6, pour associer la fonction ATL0, (I2S / audio) ; 

- 7, pour associer la fonction ATL0, (horloges / signaux spéciaux) ; 

- 8, pour associer la fonction ATL0, (fonctions avancées / debug).



Note : Une fonction ALT peut être comparée à un “câble interne” dans le processeur et la broche (ALT = périphérique).



Important : avant de placer une broche dans une fonction alternative, il faut toujours la basculer en mode entrée juste avant. 


En effet, sur Raspberry Pi, en particulier sur les modèles Pi 2, Pi 3 et Pi 4), chaque broche est configurée via un registre appelé GPFSEL : chaque GPIO utilise 3 bits : entrée (000), sortie (001) et les fonctions alternatives (010, 011, etc.) L'appel de la fonction PROC_gpio_out() effectue simplement un OR logique (OR=) sur ces bits, ne mettant à 1 qu'un bit mais ne remet pas les autres bits à zéro. broche pourrait alors ne pas être en mode  sortie, mais être placée dean une fonction alternative invalide ou inattendue. Sur Pi 5, les registres sont différents : il active directement la sortie il n'y a pas de manipulation bit-à-bit ambiguë. En théorie, le problème est moins critique mais la règle de précaution est à conserver pour la compatibilité.



Rappel : L'appel de la fonction FN_gpio_setup est obligatoire et doit être fait avant tout autre utilisation d'une procédure ou fonction du module gpiolib.bbc.



La procédure PROC_gpio_alt() est importée depuis le module gpiolib.bbc. 




EXEMPLE.


REM --- Module de la bibliothèque BBC BASIC ---

INSTALL @lib$ + "gpiolib.bbc"

kgpio = FN_gpio_setup

ki2c = 2


REPEAT 

INPUT "Quel est le modele de votre Raspberry  " , kmodele%  

UNTIL kmodele%  > 1 AND kmodele% < 6


IF kmodele% = 5 THEN

PROC_gpio_inp( kgpio , kledrouge )

PROC_gpio_alt( kgpio , ki2c , 3 ) : REM - ALT3 sur I2C

ELSE

PROC_gpio_inp( kgpio , kledrouge )

PROC_gpio_alt( kgpio , ki2c , 4 ) : REM - ALT0 sur I2C

ENDIF


END


Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de

vos remarques, vos commentaires et de vos suggestions.

Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour

TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER

avec un exemple de résolution à télécharger pour vous inspirer.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse