\ ****************************************************************************** 
\ Clignotement LED sur pin 26 carte Arduino MEGA 2560 R3 
\ 
\ Forth version: Flash Forth (http://flashforth.com/)  
\ author: M PETREMANN 
\ contact: petremann(at)arduino-forth.com 
\ Creation:     24 mai 2019 
\ Modification: 06 juin 2019 
\ ****************************************************************************** 
 
decimal 
flash                \ selection mémoire FLASH 
-blink               \ supprime les précédentes définitions crées après -blink 
marker -blink        \ définit le marqueur -blink 
37 constant PORTB    \ définition registre PORT du port B 
36 constant DDRB     \ définition registre DDR  du port B 
35 constant PINB     \ définition registre PIN  du port B 
 
%10000000 constant PIN26 \ masque binaire du PIN26 (born 26) 
 
: init-ddrb ( ---) 
    $ff DDRB c! ;       \ initialise PORT B en sortie sur les huit bits 
: led26-on ( ---)       \ allumage LED sur PIN 26 
    PINB c@             \ recupere contenu registre PIN du port B 
    PIN26 or            \ OU logique avec valeur et masque PIN26 
    PORTB c! ;          \ met resultat dans registre PORT du port B 
: led26-off ( ---)      \ extinction LED sur PIN 26 
    PINB c@             \ on recupere le contenu du registre PIB du port B 
    PIN26 255 xor       \ on recupere le masque de bit et on inverse les bits 
    and PORTB c! ;      \ ET logique et remet valeur dans registre PORT B 
: clignote ( ---)       \ boucle de clignotement 
    init-ddrb 
    begin 
        led26-on   500 ms 
        led26-off  500 ms 
    key? until ; 
 
\ Utilisation: 
\  led26-on    \ allume la LED sur PIN 26 
\  led26-off   \ éteint la LED sur PIN 26 
\  clignote    \ boucle infinie de clignotement 
 
\ pour activer clignote au démarrage carte, retirer \ sur ligne suivante 
\ ' clignote is turnkey