Étape 7: Deux Blinky – configuration et Code
Magnet lumineux deux montre l’utilisation du DDR pour l’entrée et l’utilisation des résistances de pull-up. Il utilise intentionnellement un arrangement compliqué d’entrées-sorties pour un seul port physique pour illustrer des concepts pour les résistances de DDR et de pull-up.
Consultez l’étape 6 ci-dessus.
Assurez-vous que le formulaire Atmel Lifeline.cpp s’affiche dans l’IDE et que toute saisie/modification seront inscrits sur le formulaire (sélectionnez l’onglet près du haut ou cliquez sur le nom de fichier dans l’Explorateur de Solutions, sur le côté droit).
Entrez les instructions suivantes étant très prudent de la capitalisation, des parenthèses, accolades et des points-virgules. Oui, modifier le programme Blinky selon les besoins.
#include
#define F_CPU 8000000UL
#include
int main (void)
{
DDRB = 0b00000001 ; ou 0 x 01 ; Définit B0 comme sortie et le reste comme entrée
PORTB = 0b00000010 ; Définit les pull-up sur B1 et B0 ensembles = 0
Masque d’uint8_t = 0b00000010 ; Masque de tester quand on tire sur broche B1 faible
uint8_t MaskL = 0b00000001 ; Utilisation du masque de contrôle LED
Test d’uint8_t = 1 ; Tester le résultat de quelle broche B1 est faible = 0 ou high = 1
while(1)
{
Test = PINB & masque ;
if(test == 0) //Runs lorsque l’interrupteur activé, W2 = masse
{
_delay_ms(1000) ;
PORTB | = MaskL ; S’allume la LED ; Aucun effet sur la traction R
_delay_ms(1000) ;
PORTB & = ~ MaskL ; S’éteint LED ; Aucun effet sur la traction R
}
}
}
4. aller de l’avant et compiler deux Blinky et chargez-le dans le MCU, comme décrit dans démarrage n ° 3, étape 5. En bref : Appuyez sur F5 ou cliquez sur le petit triangle sur la barre d’outils avec la liste déroulante pour Debug (pas celui avec les deux barres verticales). S’il y a des erreurs ou des avertissements, puis corrigez-les et réessayez.
5. À ce stade, la LED ne doit pas clignoter.