WinAvr в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Ответить
Встал на лапы
Аватара пользователя
Сообщения: 94
Зарегистрирован: Сб июл 18, 2009 21:38:43

Сообщение Dikoy »

Граждане, у кого WinAVR установлен и настроен, компильните плз. 2 проекта. Мейк в комплекте. А то у меня его сейчас нету...
http://yadi.sk/d/EdS3X2RcSs9HD
Реклама
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

Сообщение Rtmip »

Dikoy писал(а):компильните плз.
Приветствую :)
Во вложении то, что winavr выдал.
Но в папке usb_tiny85_v2 файл main.c я чуть изменил, иначе были ошибки при компиляции, сравните с оригиналом...

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

было так:
int main() {
	uchar i;  
    uint  flasher = 0; 
сделал так:
int main() {
	uchar i;  
    uint8_t  flasher = 0; 
Не могу утверждать, что моя замена верна, проверьте и напишите!
Ссылку можно, что это вообще за проект и схема устройства какая? :)
Вложения
proekt.rar
(28.26 КБ) 194 скачивания
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 94
Зарегистрирован: Сб июл 18, 2009 21:38:43

Сообщение Dikoy »

Спасибо!
Проект http://codeandlife.com/2012/03/03/diy-u ... generator/
Флешер был 16-и битным, я так понимаю, вы его заменили 8-и битным типом?
Встал на лапы
Аватара пользователя
Сообщения: 94
Зарегистрирован: Сб июл 18, 2009 21:38:43

Сообщение Dikoy »

Там если пошукать, есть и плата http://codeandlife.com/topics/v-usb-electronics/
Тут на русском, но устаревшая версия http://www.rlocman.ru/shem/schematics.html?di=133991
Могу свою плату дать, в спринте, под SO корпуса.

Изображение
Реклама
Эиком - электронные компоненты и радиодетали
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

Сообщение Rtmip »

Dikoy писал(а):Флешер был 16-и битным, я так понимаю, вы его заменили 8-и битным типом?
точно, ошибся, не посмотрел в тексте повнимательнее.
во вложении переправил на 16 бит, проверьте :)
плату не надо, спасибо, под такие корпуса нечем делать :)
Вложения
usb_tiny85_v2.rar
(129.43 КБ) 184 скачивания
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 94
Зарегистрирован: Сб июл 18, 2009 21:38:43

Сообщение Dikoy »

Кстати, насчёт плат, мне 3 платы под этот ключ обошлись в $3.75, включая доставку по миру. Вот тут заказываю: https://oshpark.com/
Отзыв: http://forum.ixbt.com/topic.cgi?id=48:10279-4#101

Если будете у них заказывать ОБЯЗАТЕЛЬНО делайте экспорт контура в КАЖДОМ слое (гербере). А то снесут все полигоны и зазоры.
Реклама
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

Сообщение Rtmip »

Спасибо, это уже очень интересно! :beer:
Встал на лапы
Аватара пользователя
Сообщения: 94
Зарегистрирован: Сб июл 18, 2009 21:38:43

Сообщение Dikoy »

А почему оно епромовский файл не выдаёт? У меня там пароль сохранён. Может, что в мейке поправить?
Встал на лапы
Аватара пользователя
Сообщения: 94
Зарегистрирован: Сб июл 18, 2009 21:38:43

Сообщение Dikoy »

ПС. Код работает, даже хорошо работает. Но вместо пароля выдаёт какую-то фигню.
Читаю инет, нигде внятно не написано, как заставить его выдавать hex и eep отдельно...
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

Сообщение Rtmip »

может кто поправит makefile в исходном проекте...
сделал другой makefile, смотрите вложение в личке :)
Вот только код Ваш мудреный, в еепроме не целиком, так понимаю, что слэш(\) понимается компилятором как "новая строка" и
поэтому тут код кончается... Вообщем посмотрите файл еепрома :)
Встал на лапы
Аватара пользователя
Сообщения: 94
Зарегистрирован: Сб июл 18, 2009 21:38:43

Сообщение Dikoy »

Ну тут я уже сам поправлю, винавр установил и вроде настроил - через блокнот компилится.
Раньше комп был только с гостевой учёткой, ничего не поставишь. И вот, админ вышел и отпуска, и счастье наступило.
В конце пароля символ (nl) 0x0a, по простому "ентер", чтоб после ввода он сам нажимался. Чтоб компилятор его вставил в конец строки, и используются управляющие символы \n\0 http://ru.wikipedia.org/wiki/%D0%A3%D0% ... 0%BB%D1%8B
http://en.wikipedia.org/wiki/Newline
Если б массив был забит вручную, побайтно, можно было просто вбить 0x28 в конце, но если пишется строка, то только управляющими символами.
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

Сообщение Rtmip »

Dikoy писал(а):В конце пароля символ (nl) 0x0a, по простому "ентер", чтоб после ввода он сам нажимался. Чтоб компилятор его вставил в конец строки, и используются управляющие символы \n\0
Не знал, спасибо за разъяснения :)
Встал на лапы
Аватара пользователя
Сообщения: 94
Зарегистрирован: Сб июл 18, 2009 21:38:43

Сообщение Dikoy »

Про ключ, что я делал выше, на базе V-USB library.
Не работает, тварь, на мамках AMD. На интелах всё чудесно.
В инете народ говорит, известная проблема. Лечить можно, но долго и нудно.
Так что учтите, кто будет использовать.
Грызет канифоль
Сообщения: 269
Зарегистрирован: Чт мар 11, 2010 17:45:37
Откуда: г.фрязино

Сообщение mastech »

вопрос следующий почему после if (CheckBit(PINA, 0)) cbi(PORTA, 0); не выполняется оператор выдает ошибку?
Спойлер

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

while(1)

{

if (rc5.dataOK) // приняты данные
{ //портянка 1
PORTB |= (1 « PB0); // здесь нормально работает
_delay_ms(50); //ножка дрыгается
PORTB &= ~(1 « PB0);
_delay_ms(50);

if (rc5.command==1)
{

if (CheckBit(PINA, 0)) cbi(PORTA, 0); //если включен отключаем

// портянка2
PORTB |= (1 « PB0); //нужно вставить
_delay_ms(50) ; //эту
PORTB &= ~(1 « PB0);//портянку
_delay_ms(50); //подрыгать ножкой

else sbi(PORTA, 0);
}

rc5.dataOK = 0;
}
}
}
задача: после приема команды с пульта рц5 при включении пикнуть раз(это работает после приема любой команды с пульта- портянка1 ),а при выключении пикнуть два раза.
работает если пустить портянку через запятую после if (CheckBit(PINA, 0)) cbi(PORTA, 0);пикает, как надо 2 раза(т.е. сначала отрабатывает приход команды, потом после выполнения команды "отключения") но ведь через запятую это не по феншую или я ошибаюсь?)
Опытный кот
Аватара пользователя
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США

Сообщение Pink-Pank »

вопрос следующий почему после if (CheckBit(PINA, 0)) cbi(PORTA, 0); не выполняется оператор выдает ошибку?
потому что cbi и sbi - это ассемблерные команды, а пишете Вы на СИ. Оформляйте их соответствующе
Fucking static initialization order fiasco
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

может, надо после if фгурными скобочками обозначить условно-выполняемый блок с вашими портянками? кстати, сами портянки неплохо бы функциями сделать
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Грызет канифоль
Сообщения: 269
Зарегистрирован: Чт мар 11, 2010 17:45:37
Откуда: г.фрязино

Сообщение mastech »

по этому поводу у меня тоже есть вопросы. разбираюсь я плохо но мне кажется это автор библиотеки назвал свои дефайны
Вложения
main.h
(408 байт) 316 скачиваний
rc5.c
(2.66 КБ) 368 скачиваний
rc5.h
(758 байт) 335 скачиваний
Опытный кот
Аватара пользователя
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США

Сообщение Pink-Pank »

У Вас дважды определяется один и тот же макрос в main.h
Fucking static initialization order fiasco
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Pink-Pank писал(а):У Вас дважды определяется один и тот же макрос в main.h
это не проблема и не ошибка
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Грызет канифоль
Сообщения: 269
Зарегистрирован: Чт мар 11, 2010 17:45:37
Откуда: г.фрязино

Сообщение mastech »

иии)
Ответить

Вернуться в «AVR»