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

Обсуждаем контроллеры компании Atmel.
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

BerZerK-ku писал(а)::dont_know: Вы уже выложили этот код, на деле оказавшийся не тем что надо, а теперь хвастаетесь результатами чего-то.

вы уже который раз вместо ответа на вопрос "что не так" задаете свой вопрос "а разве все так?" :))) ваша позиция весьма конструктивна. что значит "код на деле оказался не тем, что надо"? чем оказался этот код? вирусом? ;)
битва с дураками проиграна, победители торжествуют. слава победителям!
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

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

Сообщение BerZerK-ku »

Мне кажется или я уже писал, что задержки не соответствуют тем, что требовались от ф-ии?
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

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

Сообщение BCluster »

Мастер Ломастер, приведите уже корректировку это кода наверное ) А то получается то, что получается :)
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

BerZerK-ku писал(а):Мне кажется или я уже писал, что задержки не соответствуют тем, что требовались от ф-ии?

вам кажется :))) я не видел ваших сообщений в нормальном, конструктивном ключе, дескать "задержка в 100 мкс на самом деле получается 555 мкс" или в этом духе. обязательно с указанием условий, при которых происходило подобное безобразие - версия компилятора, тип МК и т.п. :)))
откуда мне знать, что вы вообще умеете что-либо правильно делать?
битва с дураками проиграна, победители торжествуют. слава победителям!
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

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

Сообщение BerZerK-ku »

:dont_know: не вижу и обратных подтверждений того , что код рабочий. Кроме голословных утверждений, причем о какой-то модифицированной версии.
Может приведете свои цифры для этого кода? Тип мк - любой из серии ATmega, тип компилятора - пусть ваш любимый winavr. Еще какие-то данные требуются? Или может озвучите ваши настройки при которых удалось достичь желаемого?
Последний раз редактировалось BerZerK-ku Пт дек 30, 2011 14:45:16, всего редактировалось 1 раз.
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

я уже приводил. atmega88, тактовая частота от 10 и более Мгц, в коде надо подправить одно число :) погрешности я указывал ранее - если хотите, поищите и ознакомьтесь. протестировано по счетчику отладчика AVR Studio. вы меня утомляете: если у кого-то есть претензии к кому-то, то любые обвинения надо доказать - так по-моему? или вы и этих правил не знаете (дуэльного кодекса не знаете, правил приличия не знаете, правил оформления кода не знаете)? а вы вынуждаете почему-то меня оправдываться, даже не доказав, что вы имеете на то основания!
битва с дураками проиграна, победители торжествуют. слава победителям!
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

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

Сообщение BerZerK-ku »

:))) какие-то очередные правила возникли, откуда вы их берете?
Слова "подправьте циферку и все заработает" вообще вызывают умиление, че бы тогда не "напишите свою задержку и проверяйте на ней".
Какие доказательства нужны? Числа? Ну например могу привести такие цифры: 130+ мкс вместо ожидаемых 100мкс. Скрины? ну на них те же цифры, не вижу смысла врать.
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

знаете такое правило "ослиный мостик"? ну, только осел не перейдет... обычно задачи типа мостика задают на собеседованиях, чтобы сразу оценить степень подготовки кандидата... для вас таким мостиком стал мой принцип не давать на 100% готового кода - найти и подправить значение ЕДИНСТВЕННОЙ цифры в коде вы не сумели... не перешли мостик :))) жаль. ладно, чтобы не мучить ваш интеллект, скажу: надо вместо 1 поставить 0.8 в качесвте параметра _delay_us :) это же очевидно любому профессионалу: требуется коррекция вложенной задержки для компенсации времени работы "внешнего" цикла :)))
битва с дураками проиграна, победители торжествуют. слава победителям!
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

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

Сообщение BerZerK-ku »

Исходя из ваших слов функция должна выглядеть так ?

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

void mega_delay(uint16_t delay_in_microseconds)
{
   for(; delay_in_microseconds; delay_in_microseconds--)
      _delay_us(0.8F);
}
Mega88, частота 10Мгц. Вместо 100мкс дает 150 мкс. Оптимизация по скорости максимальная. Вы ничего не перепутали?
И почему именно 0.8? Мне интересны математические выкладки, как эти 0.8 дадут одинаковую компенсацию на разных частотах (вы заявили о 10Мгц и выше). Прошу снизойти до меня и не проигнорировать эти банальные для профессионала моменты.
Последний раз редактировалось BerZerK-ku Пт дек 30, 2011 15:31:01, всего редактировалось 1 раз.
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

видимо, вы превзошли мои худшие предположения о ваших навыках и умениях :( мне снять видео, как я все делаю, чтобы вы поверили?
битва с дураками проиграна, победители торжествуют. слава победителям!
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

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

Сообщение BerZerK-ku »

Зачем? Достаточно проекта :dont_know: и я сам пощупаю.
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

BerZerK-ku писал(а):Зачем? Достаточно проекта :dont_know: и я сам пощупаю.

ваша беспомощность просто поразительна... и вы еще на мою компетенцию бочку катили... вот вам супермега проект, проверяйте :)
Вложения
Work.zip
(9.55 КБ) 212 скачиваний
битва с дураками проиграна, победители торжествуют. слава победителям!
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

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

Сообщение BerZerK-ku »

А вот так уже почему-то не работает? Поясните что я не так делаю? Что я сломал?
Чтобы не быть голословным, при i = 100 между сбросом и установкой бита в порту проходит 113 мкс, вместо 100. Дальше ситуация не лучше.
Вложения
work.rar
(9.92 КБ) 193 скачивания
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

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

Сообщение urry »

Ребята, я уже за.пываюсь вас читать - как и большинство присутствующих, я уверен.
Итак, в чем вопрос -использование указателей на структуру - уменьшает или увеличивает размер кода ?
В разных вариантах оптимизации - типа..
Вы там не о.уели ???
Где проблема ?
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

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

Сообщение Avarges »

urry, их уже не остановить. Новогоднее настроение люди нам создают и пускай :) На радиокоте так можно, я и сам проверял ;-)
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

BerZerK-ku писал(а):А вот так уже почему-то не работает? Поясните что я не так делаю? Что я сломал?
Чтобы не быть голословным, при i = 100 между сбросом и установкой бита в порту проходит 113 мкс, вместо 100. Дальше ситуация не лучше.

гм... вы же круче меня в Си рубите - откуда такие вопросы-то? я поковырялся, причину странностей обнаружил. во всяком случае для такого кода я все понял:

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

      for(uint16_t i=100; i<200; i++){
         PORTB = 11;
         mega_delay(i);
         PORTB = 0;
         mega_delay(i);
         PORTB = 1;
      }
но даже и не знаю, рассказывать столь большому знатоку Си очевидные вещи или нет...
может, вы поделитесь сокровенным знанием по этому вопросу? я ведь по-вашему мнению слишком слабо в Си разбираюсь. чтобы сказать что-то умное...

скажу лишь следующее: в данном случае погрешность задержек чуть больше, чем для идеального случая - добавляются накладные расходы по пересылке переменных, передаваемых в качестве параметра функции... что ж, выход один - снова подкорректировать константу, которая соответствует "чистой" задержке в1 микросекунду, т.е. взять не 0.8, а меньше. т.е. в моих опытах вместо 100-101-102 и т.п. задержек получалось примерно (десятые доли откидываю) 112-113-114 и т.д.

принцип, заложенный в мою функцию, работает - кто б сомневался? :) но погрешность приходится компенсировать, и чем ниже тактовая, тем сложнее это делать, вплоть до невозможности, но ведь при низкой тактовой 1 микросекунду так же нереально получить даже при помощи NOP-а :)))
битва с дураками проиграна, победители торжествуют. слава победителям!
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

Avarges, urry, тут мы письками меряемся :) ну весело же! :) не хотите принять участие, вдруг у вас больше? ;)
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

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

Сообщение urry »

не уверен насчет письки Брезенхема, но алгоритм Брезенхема - посчитать точно время - сюда уверенно напрашивается и странно, что никто из вас это не сказал.
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

я человек темный :) алгоритмов таких не знаю :) поделитесь знаниями - буду и я умнее :)
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

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

Сообщение urry »

(наливаю себе из графина)
имхо, в микроконтроллерах Брезенхем имеет 3 применения
1 - рисование на экране окружностей (дуг) без вычисления синусов-косинусов
2 - равномерное распределение мощности сигнала на участке
3 - таймеры с 0 погрешностью (то, что доктор прописал для данного случая).
Если кто-то знает 4 применение, пусть дополнит.
ну а гугль знает усе.
Ответить

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