Страница 1 из 1

Кто работал с ImageСraft для Tiny? Не пойму как hex получить

Добавлено: Вт сен 29, 2009 17:25:38
mr_smit
Валяется без дела ATTiny15, решил найти ему применение. Работаю с CVAVR там его нет. Скачал ImageСraft, таблетку к нему. Создал новый проект, добавил файлы. Жму Build Project .... и тишина...

Пишет:
E:\ProgramFiles\ICCtiny\bin\imakew -f 15.mak
E:\ProgramFiles\ICCtiny\bin\imakew.exe: '15' is up to date
Done.
А где hex файл??? В папке с проектом его нет. В папке с программой тоже. В опциях есть "Аутпут Директори" там тоже нет. Чего то я не пойму. :dont_know:

Изображение

Добавлено: Пт окт 02, 2009 16:05:33
mr_smit
Никак не могу RC5 на Tiny15 запустить. Скачал уже другую версию ImageСraft. Не пойму как с прерываниями быть.

Ругается на это:

Код: Выделить всё

bit state =  0;                                 //флаг состояния линии приема
bit error = 0;

Код: Выделить всё

interrupt [EXT_INT0] void ext_int0_isr(void)
В примере есть к ImageСraft есть как работать с прерываниями:

Код: Выделить всё

// note that 1200 and the tinys have different vector #s
#pragma interrupt_handler extInt0:2	// vector #

void extInt0()
{
   unsigned char left=0x01, right=0x80;
   unsigned int count;

   while (left)
   {
      PORTB = ~(left | right);  // Output fancy stuff

      left  <<1>>= 1;		// Shift bit right

      count = 0xffff;		// Small delay
      while (--count)
	 ; //Empty
   }

}

void initExtInt0()
{
   GIMSK = BIT(INT0);		// Enable external interrupt
   MCUCR = 0x30;		// Power down-mode, interrupt
				// activated on low level
}
как переделать не знаю.

Что эта строчка означает?

Код: Выделить всё

#pragma interrupt_handler extInt0:2   // vector # 

Добавлено: Вс окт 04, 2009 13:55:51
Danko
Делал пульт на t15L компилировал в ICCtiny.
Все работает и в железе и в Proteus и в VMLAB.

Вопрос: у тебя передатчик или приемник?

Что касается ICCtiny в моей версии есть два глюка в мастере.
Первый при выборе частоты и второй ошибочное название регистров.

Добавлено: Вс окт 04, 2009 20:28:52
mr_smit
Приёмник. У меня tiny15, кстати, тоже с буковкой L.

А программа ImageСraft IDE for ICCTiny 6.11A.

Добавлено: Вт окт 06, 2009 22:00:31
Danko
И камень тот, и компилятор тот.
Могу уверить все работает.
Не забудь про калибровочное значение. При использовании tiny15L его нужно записывать руками или с помощью внешней функции.

Если я не ошибаюсь tiny15 бывают только L. По крайней мере в даташнике про другие не написано.

Удачи.

Добавлено: Вт окт 06, 2009 22:18:21
mr_smit
Мне как привязаться к прерыванию? К тому что у меня TSOP на РВ2.

Так что ли?
#pragma interrupt_handler extInt0:2 // vector #

Добавлено: Вт окт 06, 2009 22:34:17
Danko
PB2 т.е. INT0

Мастер ICCtiny для внешнего прерывания генерирует такой код:

Код: Выделить всё

#pragma interrupt_handler int0_isr:2
void int0_isr(void)
{
 //external interupt on INT0
}

Добавлено: Ср окт 07, 2009 16:42:33
mr_smit
А вот мастера то я и не приметил... Оказывается он тут есть. Спасибо!!! Нашел.