Почему мой PIC не мигает светодиодами? - PullRequest
0 голосов
/ 23 ноября 2010

Я пытаюсь начать с pic24, в частности PIC24FJ64GA002, и я посмотрел в таблице данных на регистры и еще много чего, но я все еще не могу заставить его мигать светодиодами.Когда я запускаю его с помощью отладки, он работает правильно, но когда я пытаюсь запустить его на картинке, кажется, что он вообще не запускается.

Я использую внешний генератор, в частности генератор 8 МГц, подключенный к контактам 9 (OSCI) и 10 (OSCO).Компилятор C30 в Mplab.

Ссылка на лист данных: http://ww1.microchip.com/downloads/en/DeviceDoc/39881D.pdf

Код ниже

//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++);
    }

}

Ответы [ 3 ]

7 голосов
/ 23 ноября 2010

Тебе нужно идти привет, подожди, тогда вот, подожди ... ты просто идешь привет, подожди, привет, подожди.

   while(1)    //Loop forever
   {
  LATAbits.LATA0 = 1; //RA0 = 1
  Wait();
  LATAbits.LATA0 = 0; //RA0 = 1
  Wait(); 
   }
0 голосов
/ 30 ноября 2010

Спасибо вам, ребята, за всю вашу помощь, но я установил биты конфигурации неправильно, когда я установил их в редакторе конфигурации в mplab, все работает хорошо

Спасибо за вашу помощь!

0 голосов
/ 30 ноября 2010

С каким уровнем оптимизации вы компилируете? Если он работает только в режиме отладки, возможно, оптимизатор превращает всю функцию Wait() в неработоспособное состояние. Попробуйте объявить `volatile int i '.

...