roboforum.ru

Технический форум по робототехнике.
Текущее время: 26 ноя 2024, 21:39

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 18 сен 2009, 22:40 
Не в сети
Аватара пользователя

Зарегистрирован: 19 май 2008, 12:04
Сообщения: 50
Откуда: Украина, г. Харьков
прог. языки: C#, C++
Сам делал, изготовление заказывал


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 21 сен 2009, 00:21 
Не в сети
Аватара пользователя

Зарегистрирован: 19 май 2008, 12:04
Сообщения: 50
Откуда: Украина, г. Харьков
прог. языки: C#, C++
Пытаюсь скомпилировать и прошить пример мигания светодиодом, вроде все происходит без ошибок, но светодиод отказывается мигать...

Код:
#include "AT91SAM7S256.h"

#define   BIT29       0x20000000

void InitFrec(void);
void InitPeriphery(void);

AT91PS_PMC pPMC   = AT91C_BASE_PMC;

void Delay_s (unsigned long a);

//MAIN POINTER
AT91PS_PIO    p_pPio   = AT91C_BASE_PIOA;
AT91PS_PMC    p_pPMC   = AT91C_BASE_PMC;
AT91PS_USART  p_pUSART = AT91C_BASE_US0;
AT91PS_PDC    p_pPDC   = AT91C_BASE_PDC_US0;
AT91PS_MC     p_pMC    = AT91C_BASE_MC;
AT91PS_AIC    p_pAic   = AT91C_BASE_AIC;

void InitFrec(void)
{
  // Disable watchwog
  AT91C_BASE_WDTC->WDTC_WDMR= AT91C_WDTC_WDDIS;

  //Enabling the Main Oscillator:
  //SCK = 1/32768 = 30.51 uSecond
  //Start up time = 8 * 6 / SCK = 56 * 30.51 = 1,46484375 ms
  pPMC->PMC_MOR = (( AT91C_CKGR_OSCOUNT & (0x06 <<8) | AT91C_CKGR_MOSCEN ));
  //Wait the startup time
  while(!(pPMC->PMC_SR & AT91C_PMC_MOSCS));


  //Setting PLL and divider:
  //- div by 5 Fin = 3,6864 =(18,432 / 5)
  //- Mul 25+1: Fout =   95,8464 =(3,6864 *26)
  //for 96 MHz the erroe is 0.16%
  //Field out NOT USED = 0
  //PLLCOUNT pll startup time estimate at : 0.844 ms
  //PLLCOUNT 28 = 0.000844 /(1/32768)
  pPMC->PMC_PLLR = ((AT91C_CKGR_DIV & 3) | (AT91C_CKGR_PLLCOUNT & (28<<8)) | (AT91C_CKGR_MUL & (24<<16)));

  // Wait the startup time
  while(!(pPMC->PMC_SR & AT91C_PMC_LOCK));
  while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));

  //Selection of Master Clock and Processor Clock
  //select the PLL clock divided by 2
  pPMC->PMC_MCKR = AT91C_PMC_CSS_PLL_CLK | AT91C_PMC_PRES_CLK_2 ;
  while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));

}


void InitPeriphery(void) {

  //enable the clock of the PIO
  p_pPMC->PMC_PCER = 1 << AT91C_ID_PIOA;

  //LED 1
  //configure the PIO Lines corresponding to LED1
  p_pPio->PIO_PER |= BIT29;    //Enable PA29
  p_pPio->PIO_OER |= BIT29;    //Configure in Output
  p_pPio->PIO_CODR |= BIT29;   //set reg to 0

}

//Simple program that blinking leds

//MAIN POINTERS
AT91PS_PIO    m_pPio   = AT91C_BASE_PIOA;

//it's a simple delay
void Delay (unsigned long a) { while (--a!=0); }

int main()
{
  //Init frequency
  InitFrec();
  //Init leds
  InitPeriphery();

  // loop forever
  while(1)
  {
    m_pPio->PIO_CODR = BIT29;  //set reg to 0 (led1 on)
    Delay(5000000);            //simple delay         
    m_pPio->PIO_SODR = BIT29;  //set reg to 1 (led1 off)
    Delay(5000000);             //simple delay
  }
}



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 21 сен 2009, 00:28 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Светодиод как себя ведет?

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 21 сен 2009, 10:23 
Не в сети
Аватара пользователя

Зарегистрирован: 19 май 2008, 12:04
Сообщения: 50
Откуда: Украина, г. Харьков
прог. языки: C#, C++
На ножке всегда высокий лог. уровень


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 21 сен 2009, 16:40 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Значит порт не принимает логический 0, то есть не верно настроены порты

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 22 сен 2009, 18:37 
Не в сети
Аватара пользователя

Зарегистрирован: 19 май 2008, 12:04
Сообщения: 50
Откуда: Украина, г. Харьков
прог. языки: C#, C++
Мерял напряжение на выводах и обнаружил, что когда один щуп на земле, а второй на ножке кварца, то светодиод начинает мигать. Когда убираешь щуп, то программа прекращает свое выполнение, и светодиод остается в том состоянии, в котором находился.
Прозвонил все цепи, вроде все в порядке. Не могу понять причину такого странного поведения...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 22 сен 2009, 19:37 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
А емкости на кварце на месте? (Правда ЕМНИП обычно кварцевый генератор наоборот останавливается...)

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 22 сен 2009, 19:51 
Не в сети
Аватара пользователя

Зарегистрирован: 19 май 2008, 12:04
Сообщения: 50
Откуда: Украина, г. Харьков
прог. языки: C#, C++
И с ними, и без них пробовал; результат один.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 22 сен 2009, 19:58 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
А попробуй заземлить корпус квакца

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 22 сен 2009, 20:05 
Не в сети
Аватара пользователя

Зарегистрирован: 19 май 2008, 12:04
Сообщения: 50
Откуда: Украина, г. Харьков
прог. языки: C#, C++
Не помогло.

Что в вольтметре такого, что он вызывает данный эффект? Просто резистором такого не получается добиться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 22 сен 2009, 20:25 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Ku6opr писал(а):
Что в вольтметре такого, что он вызывает данный эффект?

В вольтметре не только сопротивление есть, но и ёмкость. Обычно порядка 40 пФ.

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 22 сен 2009, 20:25 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Вообще верно, а на МК емкости по питанию поставил?

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 22 сен 2009, 21:19 
Не в сети
Аватара пользователя

Зарегистрирован: 19 май 2008, 12:04
Сообщения: 50
Откуда: Украина, г. Харьков
прог. языки: C#, C++
Да, согласно схеме.

Почему прошивка заливается нормально, а выполняться не хочет? Значит же тактовый сигнал все-таки есть во время программирования.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 22 сен 2009, 21:49 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
А что за программатор? Может у него принудительное тактирование...

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу запустить AT91SAM7S128
СообщениеДобавлено: 22 сен 2009, 21:50 
Не в сети
Аватара пользователя

Зарегистрирован: 19 май 2008, 12:04
Сообщения: 50
Откуда: Украина, г. Харьков
прог. языки: C#, C++
Программирую через USB


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO