Question

Je suis en train de commencer avec de PIC24, en particulier la PIC24FJ64GA002, et je l'ai regardé dans la fiche technique sur les registres et ainsi de suite, mais je ne peux toujours pas à clignoter les voyants. Quand je lance via debug il fonctionne correctement, mais lorsque je tente de lancer réellement sur l'image, il semble ne pas fonctionner du tout.

J'utilise un oscillateur externe, un 8MHZ Oscillateur spécifiquement, relié aux broches 9 (OSCI) et 10 (OSCO). Compilateur est C30 dans MPLAB.

Lien fiche technique: http://ww1.microchip.com/downloads/ fr / DeviceDoc / 39881D.pdf

Le code est ci-dessous

//include basic header definition
#include <p24FJ64GA002.h>

//config
_CONFIG2(0x0200);
_CONFIG1(0x0800);

int i;

//main loop
int main(void)
{

   OSCCON = 0x2280;  //select external OSC, no PLL
   AD1PCFG      = 0xFFFF;  //set to all digital I/O
   TRISA = 0x0000;  //configure all PortA as output

   while(1)    //Loop forever
   {
  LATAbits.LATA0 = 1; //RA0 = 1
  Wait();
  LATAbits.LATA0 = 1; //RA0 = 1
  Wait(); 
   }

}


int Wait(void) // gives me a nice delay of 1/3rd a second or so
{
for (int i = 0; i < 30000; i++)
 { 
  for (int i = 0; i < 30; i++);
    }

}

Était-ce utile?

La solution 3

Merci les gars pour votre aide, mais ce que je mets les bits de configuration mal, quand je les ai mis dans l'éditeur de configuration dans MPLAB tout fonctionne bien.

Merci pour votre aide!

Autres conseils

Vous devez aller salut, attente, puis lo, attendez ... vous allez juste salut, attente, salut, attente.

   while(1)    //Loop forever
   {
  LATAbits.LATA0 = 1; //RA0 = 1
  Wait();
  LATAbits.LATA0 = 0; //RA0 = 1
  Wait(); 
   }

Quel est le niveau d'optimisation vous compilez avec? Si elle est seulement travailler dans le débogage, il est possible que l'optimiseur réduit l'ensemble de la fonction de Wait() à un no-op. Essayez déclarant `volatile int i ».

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top