вы уже который раз вместо ответа на вопрос "что не так" задаете свой вопрос "а разве все так?"BerZerK-ku писал(а):Вы уже выложили этот код, на деле оказавшийся не тем что надо, а теперь хвастаетесь результатами чего-то.
WinAvr в вопросах и ответах
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: WinAvr в вопросах и ответах
битва с дураками проиграна, победители торжествуют. слава победителям!
- Реклама
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: WinAvr в вопросах и ответах
Мне кажется или я уже писал, что задержки не соответствуют тем, что требовались от ф-ии?
- BCluster
- Собутыльник Кота
- Сообщения: 2512
- Зарегистрирован: Пн апр 06, 2009 19:33:29
- Откуда: Молдова, Кишинев
- Контактная информация:
Re: WinAvr в вопросах и ответах
Мастер Ломастер, приведите уже корректировку это кода наверное ) А то получается то, что получается 
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: WinAvr в вопросах и ответах
вам кажетсяBerZerK-ku писал(а):Мне кажется или я уже писал, что задержки не соответствуют тем, что требовались от ф-ии?
откуда мне знать, что вы вообще умеете что-либо правильно делать?
битва с дураками проиграна, победители торжествуют. слава победителям!
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: WinAvr в вопросах и ответах
Может приведете свои цифры для этого кода? Тип мк - любой из серии 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 в вопросах и ответах
Слова "подправьте циферку и все заработает" вообще вызывают умиление, че бы тогда не "напишите свою задержку и проверяйте на ней".
Какие доказательства нужны? Числа? Ну например могу привести такие цифры: 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 в вопросах и ответах
Исходя из ваших слов функция должна выглядеть так ?
Mega88, частота 10Мгц. Вместо 100мкс дает 150 мкс. Оптимизация по скорости максимальная. Вы ничего не перепутали?
И почему именно 0.8? Мне интересны математические выкладки, как эти 0.8 дадут одинаковую компенсацию на разных частотах (вы заявили о 10Мгц и выше). Прошу снизойти до меня и не проигнорировать эти банальные для профессионала моменты.
Код: Выделить всё
void mega_delay(uint16_t delay_in_microseconds)
{
for(; delay_in_microseconds; delay_in_microseconds--)
_delay_us(0.8F);
}И почему именно 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 в вопросах и ответах
Зачем? Достаточно проекта
и я сам пощупаю.
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: WinAvr в вопросах и ответах
ваша беспомощность просто поразительна... и вы еще на мою компетенцию бочку катили... вот вам супермега проект, проверяйтеBerZerK-ku писал(а):Зачем? Достаточно проектаи я сам пощупаю.
- Вложения
-
- Work.zip
- (9.55 КБ) 214 скачиваний
битва с дураками проиграна, победители торжествуют. слава победителям!
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: WinAvr в вопросах и ответах
А вот так уже почему-то не работает? Поясните что я не так делаю? Что я сломал?
Чтобы не быть голословным, при i = 100 между сбросом и установкой бита в порту проходит 113 мкс, вместо 100. Дальше ситуация не лучше.
Чтобы не быть голословным, при i = 100 между сбросом и установкой бита в порту проходит 113 мкс, вместо 100. Дальше ситуация не лучше.
- Вложения
-
- work.rar
- (9.92 КБ) 193 скачивания
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: WinAvr в вопросах и ответах
Ребята, я уже за.пываюсь вас читать - как и большинство присутствующих, я уверен.
Итак, в чем вопрос -использование указателей на структуру - уменьшает или увеличивает размер кода ?
В разных вариантах оптимизации - типа..
Вы там не о.уели ???
Где проблема ?
Итак, в чем вопрос -использование указателей на структуру - уменьшает или увеличивает размер кода ?
В разных вариантах оптимизации - типа..
Вы там не о.уели ???
Где проблема ?
- Avarges
- Вымогатель припоя
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
- Контактная информация:
Re: WinAvr в вопросах и ответах
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 и т.д.
принцип, заложенный в мою функцию, работает - кто б сомневался?
битва с дураками проиграна, победители торжествуют. слава победителям!
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: WinAvr в вопросах и ответах
Avarges, urry, тут мы письками меряемся
ну весело же!
не хотите принять участие, вдруг у вас больше? 
битва с дураками проиграна, победители торжествуют. слава победителям!
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: WinAvr в вопросах и ответах
не уверен насчет письки Брезенхема, но алгоритм Брезенхема - посчитать точно время - сюда уверенно напрашивается и странно, что никто из вас это не сказал.
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: WinAvr в вопросах и ответах
я человек темный
алгоритмов таких не знаю
поделитесь знаниями - буду и я умнее 
битва с дураками проиграна, победители торжествуют. слава победителям!
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: WinAvr в вопросах и ответах
(наливаю себе из графина)
имхо, в микроконтроллерах Брезенхем имеет 3 применения
1 - рисование на экране окружностей (дуг) без вычисления синусов-косинусов
2 - равномерное распределение мощности сигнала на участке
3 - таймеры с 0 погрешностью (то, что доктор прописал для данного случая).
Если кто-то знает 4 применение, пусть дополнит.
ну а гугль знает усе.
имхо, в микроконтроллерах Брезенхем имеет 3 применения
1 - рисование на экране окружностей (дуг) без вычисления синусов-косинусов
2 - равномерное распределение мощности сигнала на участке
3 - таймеры с 0 погрешностью (то, что доктор прописал для данного случая).
Если кто-то знает 4 применение, пусть дополнит.
ну а гугль знает усе.


