реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Запуск Mega162
west329_
сообщение Nov 1 2008, 15:09
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



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

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

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

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

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

С ув.
Go to the top of the page
 
+Quote Post
Nanobyte
сообщение Nov 1 2008, 16:03
Сообщение #2


За битами по регистрам гоняюсь
***

Группа: Свой
Сообщений: 457
Регистрация: 24-04-06
Из: Таганрог
Пользователь №: 16 446



Программу бы привели, тут с телепатией туго smile.gif


--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
Go to the top of the page
 
+Quote Post
west329_
сообщение Nov 1 2008, 16:49
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Цитата(Nanobyte @ Nov 1 2008, 20:03) *
Программу бы привели, тут с телепатией туго smile.gif


Как оказалось не работет таймер, написал просто задержки на щётчиках то пошло, а надо на таймере
Код
//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_ - Nov 1 2008, 16:50
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Nov 1 2008, 17:09
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



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


А что, интересно, написано в даташите на ATmega162 про GIMSK ? wink.gif


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
west329_
сообщение Nov 1 2008, 18:02
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Цитата(esaulenka @ Nov 1 2008, 21:09) *
А что, интересно, написано в даташите на ATmega162 про GIMSK ? wink.gif


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

Кстати всё заработало если убрал птичку в Понипрог в бите М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С(выключаю совместимость) всё тухнет ???
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
man with no name
сообщение Nov 1 2008, 18:39
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 158
Регистрация: 6-08-07
Из: Moscow
Пользователь №: 29 586



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


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

Всё правильно. Поставив галочку, вы программируете бит совместимости. Такая вот небольшая путаница у AVR с фьюзами...
Go to the top of the page
 
+Quote Post
west329_
сообщение Nov 1 2008, 19:31
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



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

по умолчанию было так 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


как всегда всё потухло вобщее, что делать подскажите, тащить внешний генератор ???
Go to the top of the page
 
+Quote Post
SysRq
сообщение Nov 1 2008, 19:37
Сообщение #8


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(west329_ @ Nov 1 2008, 22:31) *
..тащить внешний генератор ???
Неа. avreal (ключ -o0) + комп с набортным LPT + программатор "5 проводков".

Сообщение отредактировал SysRq - Nov 1 2008, 19:38
Go to the top of the page
 
+Quote Post
west329_
сообщение Nov 1 2008, 19:43
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Цитата(SysRq @ Nov 1 2008, 23:37) *
Неа. avreal (ключ -o0) + комп с набортным LPT + программатор "5 проводков".


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

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

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

Сообщение отредактировал west329_ - Nov 1 2008, 19:50
Go to the top of the page
 
+Quote Post
SysRq
сообщение Nov 1 2008, 19:50
Сообщение #10


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(west329_ @ Nov 1 2008, 22:43) *
Обясните почему ?
Это позволит перешить\переконфигурировать фьюзы МК без перепайки кварца. Сам avreal (через LPT) будет выступать в качестве внешнего генератора.

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

Сообщение отредактировал SysRq - Nov 1 2008, 20:07
Go to the top of the page
 
+Quote Post
west329_
сообщение Nov 1 2008, 20:07
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Цитата(SysRq @ Nov 1 2008, 23:50) *
Это позволит перешить\переконфигурировать фьюзы МК без перепайки кварца. Сам avreal (через LPT) будет выступать в качестве внешнего генератора.


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

wassat.gif А я уже тачал волноватся, мне кварц проще заменить чем паяться с новым программатором, ладно попробую уже завтра поменять кварц, если не поможет буду собирать 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_ - Nov 1 2008, 20:11
Go to the top of the page
 
+Quote Post
west329_
сообщение Nov 2 2008, 07:57
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



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

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

Сообщение отредактировал west329_ - Nov 2 2008, 08:00
Go to the top of the page
 
+Quote Post
SysRq
сообщение Nov 2 2008, 08:18
Сообщение #13


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(west329_ @ Nov 2 2008, 10:57) *
Поставил часовой кварц, но программатор с контроллером работать отказался sad.gif

Частоты MOSI\MISO\SCK с программатора должны быть ниже (в два раза, вроде?) частоты тактирования МК.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 04:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01476 секунд с 7
ELECTRONIX ©2004-2016