Страница 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 файл??? В папке с проектом его нет. В папке с программой тоже. В опциях есть "Аутпут Директори" там тоже нет. Чего то я не пойму.

Добавлено: Пт окт 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
А вот мастера то я и не приметил... Оказывается он тут есть. Спасибо!!! Нашел.