Всем привет! помогите новичку в зеленых вопросах... Сейчас делаю устройство на меге 8535 в CVAVR, что-то отслеживаю в протеусе, но в плане дебага и трассировки ужасно не удобно... Краем левого уха слышал что есть еще AVR Studio - вот скажите, стоит перйти на студию и каке приемущества, для меня главное построчный степ и видеть что в переменных и портах творится... и если все-таки AVR Studio круче CVAVR то какие могут быть траблы с переносом проета в студию? студия может шить прошивку LPT программатором "пять проводков"?
Заголовок сообщения: Re: AVR studio 4 в вопросах и ответах
Добавлено: Пн янв 17, 2011 23:14:58
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Ищите UniProf. Я им пользуюсь. Шьёт 5ю проводами с LPT. Там даже есть фича - LPT Pins. То есть можно настроить ноги LPT порта почти под любую распайку втыкаемого LPT шнура. Вот, качайте отсуда: Часть первая: ссылка Часть вторая: ссылка Часть третья: ссылка
_________________ I am DX168B and this is my favourite forum on internet!
Поставил студию, пролез интерфейс, почитал статейки что в ней и как - все чудесно... Начал переносить проект с CVAVR, а студия ничего из объявленного в инклудах не видит, даже файлов проекта, которые лежат в одной папке. Подскажите где подкрутить?
Заголовок сообщения: Re: AVR studio 4 в вопросах и ответах
Добавлено: Вт янв 18, 2011 21:56:33
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Для начала, установите ещё и WinAVR. Инклуды надо будет сменить. И половину проекта тоже переписать. CV AVR и WinAVR+AVR Studio - это совершенно разные вещи.
_________________ I am DX168B and this is my favourite forum on internet!
WinAVR поставил как пологается до установки студии, с этим нормуль, а вот с переносом проекта полный пипец... как в студии читать\писать определеный бит в порту? вот код из CVAVR в студии4 (мега8535, инициализация есть, но тут выкинул для краткости):
int main(void) { while (1) { LED1 = 0; delay_ms(20); LED1 = 1; delay_ms(20); } }
на строке LED1 = 0; и LED1 = 1; ошибки:
Цитата:
../test.c:11: error: expected ';' before numeric constant
как этот кусок кода заточить под GCC? P.S. уже успел в студии заметить два убийственных минуса: 1 - отсутствие возможности зокоментарить выделенный блок и соответственно раскоментарить, 2 - отсутствие возможности сворачивать куски кода (ну это уж совсем странно, вроде софтина не из каменного века, а такое лоханство)...
Заголовок сообщения: Re: AVR studio 4 в вопросах и ответах
Добавлено: Ср янв 19, 2011 15:21:58
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
У тебя ошибка в строке #define LED1 PORTC.0 Таких извратов нет в WinAVR, как PORTC.0 Я сам пока начинающий в Си для AVR, всё на АСМе делаю. Но могу предложить такой вариант:
это конечно круто, но я с ASM походу как ты с Си... 0х15 - в твоем примере это адрес порта С? 0 - это то что в него пишется? если так, то мне надо не в весь порт записать, а в определенный его бит...
уважаемые! делать ассемблерные вставки в сишном коде для того, чтобы дрыгнуть ножкой МК - а вы вообще зачем за Си взялись?! это изврат и советую сразу стараться писать программы так, чтобы не делать лишнего. в частности, что ваша программа делает? она через равные промежутки времени меняет уровень на пине - так? вот и надо писать буквально то же самое, но на языке Си. В буквальном переводе на человеческий ваша программа делает следующее: бесконечно делает такое: сначала устанавливает 1 в пине, затем ждет определенный интервал, затем устанавливает 0 на том же самом пине, и снова ждет тот же самый интервал. согласитесь, что это немного избыточно по сравнению с тем, что на самом деле она делает (как я сформулировал). то есть даже в такой простенькой задачке вы написали НЕ ТО, что ХОТЕЛИ. если будете и далее придерживаться такого принципа, вы можете наделать кучу таких ошибок, что и сами голову сломаете, и желающих помогать не найдете. вот как на самом деле должна выглядеть ваша программа:
Напоминаю, что операция ^ означает "побитное исключающее или". макрос _BV(x) - это стандартный макрос для WinAVR (пользуйтесь им!), он определен так: #define _BV(x) (1 << (x)) по сути он устанавливает один-единственный бит в байте. указывая в качестве параметра этого макроса ИМЯ соответствующего пина (в данном случае PC0) вы автоматически получаете возмоджность работать именно с этим битом. использовать нормера битов вместо их имен - не советую. о том, как отдельные биты устанавливать и сбрасывать, а так же о кое чем еще, я написал небольшой FAQ.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
то есть даже в такой простенькой задачке вы написали НЕ ТО, что ХОТЕЛИ
ARV, да я же для примера накдал, чтобы нагляднее было, понятно чо в ральных условиях надо как ты описал... За фак спасибо, тоже пригодится... в результате сделал так:
ну и зачем давать плохие примеры? вот вы корячились, корячились, определяли битовые поля и т.п., а теперь ответьте на вопрос: ЗАЧЕМ ВСЕ ЭТО?! если после всего вы описали макрос LED1, который скрыл все от программиста... и битовые поля в том числе. только для того, чтобы сделать НЕПОНЯТНО? по каким признакам я должен понять, что после LED1 = 1; светодиод загористя? а вдруг мне захочется написать LED1 = 25; - что будет? как я должен понять, что это НЕ ПЕРЕМЕННАЯ?! мне кажется, это все не делает программу понятнее, а значит, лучше. более того, лично я считаю скрывание за макросами ВАЖНЫХ моментов друным тоном, повышающим риск возникновения ошибок. вы спрятали обращение к биту порта, подменив традиционные операции манипулирования битами оператором присваивания. если в записи PORTC |= 1<<PB0; ясно все всем, кто хоть малое представление имеет об AVR (читал даташиты хотя бы), то ваша запись может поставить в тупик и опытного программиста, если, конечно, в ней будет не 5 строк.
есть хороший философский принцип, известный как бритва Оккама, который звучит так: "не нужно порождать сущности без необходимости". в переводе на обычный язык этот принцип можно сформулировать так: если что-то может быть решено самым простым и очевидным способом, то именно это решение и будет правильным. не надо строить нагромождение макросов, переменных, типов и т.д., если в них нет реальной необходимости.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Здравствуйте. Подскажите пожалуйста. Симулирую апликуху AVR242(часы реального времени). Единственное что поменял в ней, так это пересоздал проект для Tiny2313. Код программы прикладываю. При симуляции в EEPROM не записываются таблицы. Компилируется проэкт, а EEPROM остается без изменения.
Заголовок сообщения: Re: AVR studio 4 в вопросах и ответах
Добавлено: Чт фев 03, 2011 12:10:03
Друг Кота
Карма: 67
Рейтинг сообщений: 1066
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19953 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
sergeys писал(а):
Привет! У мну опять есть вопрос! Вот он: можно ли добавить в АВРстудию другие МК (у мну нет даже тини2313)? Какие-то библиотеки скачать?
Программу обновить =) Какая у вас версия?
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Заголовок сообщения: Re: AVR studio 4 в вопросах и ответах
Добавлено: Чт фев 03, 2011 13:01:36
Друг Кота
Карма: 67
Рейтинг сообщений: 1066
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19953 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
sergeys писал(а):
4.1
У меня 4.18
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения