Страница 1 из 1
Проблема с компиляцией прошивки для RC5 декодера на Tiny2313
Добавлено: Вс апр 19, 2009 19:22:18
Виталик
При открытии С-файла при помощи CodeVisionAVR компиляция не возможна (кнопочки неактивные). Пробовал WinAVR но там выдается сообщение об ошибке №2.
Устройство которое я хочу спаять:
http://avru.cwx.ru/project/rc5_decoder_na_tiny2313.html - (прошивка там же).
Добавлено: Вс апр 19, 2009 19:36:11
Krik99
Какая версия Code Vision ?
Добавлено: Вс апр 19, 2009 19:41:52
Виталик
v 1.25.9
Re: Проблема с компиляцией прошивки для RC5 декодера на Tiny
Добавлено: Вс апр 19, 2009 20:33:44
Telek
Виталик писал(а):При открытии С-файла при помощи CodeVisionAVR компиляция не возможна (кнопочки неактивные).
Компилировать нужно проект(.prj). Без проекта компилироваться с-файл не будет.
Добавлено: Вс апр 19, 2009 21:01:30
Виталик
Что мне выбрать при создании проекта?
Чип и частоту я задал.
Порты A,B,D всё настроить на Out.
А с IRQ & Timers ничего не трогать
Всё верно?

После создания можно будет просто заменить генерируемый CVAVR код на исходник на С?
Добавлено: Вс апр 19, 2009 21:10:31
Telek
Виталик писал(а):Что мне выбрать при создании проекта?
Чип и частоту я задал.
Собственно нужен чип и частота. Остальное все есть в с-файле. Можно просто создать проект и добавить в него с-файл или создать проект с генерацией кода в с-файле и потом заменить.
Добавлено: Вс апр 19, 2009 21:28:13
ikarab
Вот нормально скомпилилось сразу в CVAVR 1.25.9 - пользуйтесь. Декодер RC5 в CVAVR
Добавлено: Пн апр 20, 2009 09:22:25
Виталик
Спасибо,
ikarab, я уже сам понял как получить НЕХ-файл, но я откомпилировал ваш проект и файлы получились одинаковы - теперь точно уверен, что прошивка не подведет.
Появился вопрос: семисегментные индикаторы с общим анодом или катодом? - насколько я знаю это должно отределяется прогр. МК
Код: Выделить всё
#define digit0 PORTD.0 //питание дисплея
#define digit1 PORTD.3 //питание дисплея
flash char digits[] = { //массив с цифрами
0b01010000, //0
0b01011111, //1
0b00110010, //2
0b00010110, //3
0b00011101, //4
0b10010100, //5
0b10010000, //6
0b01011110, //7
0b00010000, //8
0b00010100 //9
};
Добавлено: Пн апр 20, 2009 18:31:51
Aheir
А как Вы сами думаете, если в коде, зажигающем "0" - только две "1" содержатся? Значит, сегменты зажигаются нулем, т.е. индикаторы с общим анодом. Кстати, схема подключения индикаторов не лучшая, на мой взгляд...
Добавлено: Пн апр 20, 2009 19:46:10
Виталик
Значит, сегменты зажигаются нулем
Это прошарил но ...э... анод или катод, левая рука или правая - у меня всегда были проблемы с этим
А как лутше подключить? Через транзисторы?
Добавлено: Пн апр 20, 2009 22:29:33
Krik99
Если говорить о правельности подключения LED дисплей, надо все сегменты включить через резисторы 100..300 ом, разряды дисплея включить через транзисторы. Я подключал дисплей так, так как это для примера и демонстрации кода, к томуже макетка у меня так сбрана.
Добавлено: Вт апр 21, 2009 11:45:33
Виталик
Поискал схемы подключенчия индикаторов и нашол вот это
http://b.foto.radikal.ru/0603/b9943b51646d.gif
Я тоже могу включить по такой схеме? -
и взять номинал резистора подключенного на базу и транз. КТ361А
а на сегменты повесить резисторы по 180 Ом
Добавлено: Вт апр 21, 2009 13:24:28
Krik99
От резисторов на сегментах зависит яркость дисплея. Можно и по этой схеме включить, но так как используються транзисторы КТ361А pnp они открываються на лог. 0, надо будет переписать код развёртки на этот:
Код: Выделить всё
case 0:{digit1=1;digit0=0;break;}; //подаём питание на 1
case 1:{digit0=1;digit1=0;break;}; //подаём питание на 2