Перейти к содержанию
    

Запуск Mega162

Пытаюсь запустить мегу, повесил светодиод на порт РА3.

Набросал простую программу чтоб портом управлять, повесил на тамер и перекидываю полярность на порту.

 

Как всегда с первого раза незаработало.

 

По даташиту. Отключил совместимость с М162

Отключил жтаг.

 

Результат тот-же темнота.

 

Подскажите куда рыть дальше ?

 

С ув.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Программу бы привели, тут с телепатией туго :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Программу бы привели, тут с телепатией туго :)

 

Как оказалось не работет таймер, написал просто задержки на щётчиках то пошло, а надо на таймере

//ICC-AVR application builder : 01.11.2008 18:04:39
// Target : M162
// Crystal: 1.0000Mhz

#include <iom162v.h>
#include <macros.h>

void port_init(void)
{
PORTA = 0x00;
DDRA  = 0x08;
PORTB = 0x00;
DDRB  = 0x00;
PORTC = 0x00; 
DDRC  = 0x00;
PORTD = 0x00;
DDRD  = 0x00;
PORTE = 0x00;
DDRE  = 0x00;
}

//TIMER0 initialize - prescale:1024
// WGM: Normal
// desired value: 4Hz
// actual value:  4,002Hz (0,1%)
void timer0_init(void)
{
TCCR0= 0x00; //stop
TCNT0= 0x0C; //set count
OCR0= 0xF4; //set compare value
TCCR0= 0x05; //start timer
}

#pragma interrupt_handler timer0_ovf_isr:iv_TIM0_OVF
void timer0_ovf_isr(void)
{
TCNT0= 0x0C; //reload counter value

PORTA ^= 0x08;
}

//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();
timer0_init();

MCUCR= 0x00; 
EMCUCR = 0x00;
//GIMSK= 0x00;
TIMSK= 0x02; //timer interrupt sources
ETIMSK=0x00;
GICR= 0x00;
PCMSK0=0x00;
PCMSK1=0x00;
SEI(); //re-enable interrupts
//all peripherals are now initialized
}

//
void main(void)
{
init_devices();
//insert your functional code here...
}

но проблему это не решило

 

что интересно компилятор ругается на GIMSK ???

Изменено пользователем west329_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что интересно компилятор ругается на GIMSK ???

 

А что, интересно, написано в даташите на ATmega162 про GIMSK ? ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что, интересно, написано в даташите на ATmega162 про GIMSK ? ;)

 

Согласен, в даташите его нету но я его туда не писал его туда впихнул помощник ИСС, поэтому решил переспросить может я чтото не понял.

 

Кстати всё заработало если убрал птичку в Понипрог в бите М161С, уже окончательно запутался включина совместимость или выключена ???

 

 

Переехал на IAR подумал может ИСС играется

#include <ioavr.h>
#include <inavr.h>


void timer0_init(void)
{
TCCR0= 0x00; //stop
TCNT0= 0x0C; //set count
OCR0= 0xF4; //set compare value
TCCR0= 0x05; //start timer  
  
  
/*  
TCCR0 = 0x00; //stop             //10mSec
ASSR  = 0x00; //set async mode

//OCR0  = 0x07;
TCCR0 = 0x07; //start timer

TIMSK |= 0x01; //ovf T0 active 
*/
}



#pragma vector = TIMER0_OVF_vect
__interrupt void TIMER0_OVF(void)
{
//TCNT0 =  0xB9;    //0x1A; //reload counter value
  PORTA ^= 0x08;
}




void main( void )
{
  DDRA = 0x08;
  
  timer0_init();
  
  TIMSK |= 0x02; //ovf T0 active
  asm("SEI");
  
  while(1);
}

 

Результат тотже в режиме совместимости работает пререывание как только ставлю галочку М161С(выключаю совместимость) всё тухнет ???

post-30423-1225560037_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...как только ставлю галочку М161С(выключаю совместимость)...

 

Посмотрите на скриншоте в нижней части окошка: checked items means programmed (bit=0).

 

Всё правильно. Поставив галочку, вы программируете бит совместимости. Такая вот небольшая путаница у AVR с фьюзами...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможно ли убить мегу если неправильно выставить фьюы

 

по умолчанию было так CKSEL3..0 -- 0010

я поставил так -- 0110

 

таблица из даташита

Device Clocking Option CKSEL3..0

External Crystal/Ceramic Resonator 1111 - 1000

External Low-frequency Crystal 0111 - 0100

Calibrated Internal RC Oscillator 0010

External Clock 0000

Reserved 0011, 0001

 

 

как всегда всё потухло вобщее, что делать подскажите, тащить внешний генератор ???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

..тащить внешний генератор ???
Неа. avreal (ключ -o0) + комп с набортным LPT + программатор "5 проводков".
Изменено пользователем SysRq

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неа. avreal (ключ -o0) + комп с набортным LPT + программатор "5 проводков".

 

Обясните почему ?

 

А схему программатора можно ?

 

А я подумал что попал в диапазон (External Low-frequency Crystal) к контроллеру у меня прикручен 7.323 кфарц, может для начала поставить вместо него какойто от часов на 36кгц, или я ошибаюсь ???

Изменено пользователем west329_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обясните почему ?
Это позволит перешить\переконфигурировать фьюзы МК без перепайки кварца. Сам avreal (через LPT) будет выступать в качестве внешнего генератора.

 

http://www.ln.com.ua/~real/avreal/adapters.html#FBPRG

Изменено пользователем SysRq

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это позволит перешить\переконфигурировать фьюзы МК без перепайки кварца. Сам avreal (через LPT) будет выступать в качестве внешнего генератора.

 

Благодарю за помощь и поддержку.

 

:wassat: А я уже тачал волноватся, мне кварц проще заменить чем паяться с новым программатором, ладно попробую уже завтра поменять кварц, если не поможет буду собирать STK200/300.

 

А как тогда надо было установить фьюзы на кварц 7....мгц

 

1101 ???

 

дополнительная таблица из даташит

CKSEL3:1

Frequency Range

(MHz)

100 0.4 - 0.9

101 0.9 - 3.0

110 3.0 - 8.0

111 8.0 -

Изменено пользователем west329_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поставил часовой кварц, но программатор с контроллером работать отказался :(

 

У меня рядом лежит девайс с нормально работающим контроллером на 7 мгц, можно от него запитать тактовый генератор меги, или не получется ?

Изменено пользователем west329_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поставил часовой кварц, но программатор с контроллером работать отказался :(

Частоты MOSI\MISO\SCK с программатора должны быть ниже (в два раза, вроде?) частоты тактирования МК.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...