Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 10.02.2009, 18:09  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Вот VIT выложил - http://ifolder.ru/10487481

Там где меньше 2 кб вышло.
Реклама:
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 10.02.2009, 18:28  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Сообщение от woroba
Сообщение от kison

Код:
unsigned char CPRG=0;
...
CPRG=25; //25*0.2=5S CPRG-- IN  T0
while (CPRG›0)MTIME=varprg (99,MTIME);
Зависон гарантирован на любом уровне оптимизации кроме O0. Пока программист не усвоит основные принципы результат радовать не будет.
Ничего подобного,CPRG декременируется в это время через каждые 60mS в таймере и никакого зависания.
Код рабочий.
Сейчас рабочий. Потому что регистр R24 используется для передачи параметров в функцию. Но Вы не контролируете использование регистров компилятором. Если в результате какого то изменения регистр освободится... Для понимания упростим пример:
Код:
CPRG=25; //25*0.2=5S CPRG-- IN  T0
while (CPRG›0); // просто ждем события
SIND=2; // действие когда дождались.
Посмотрите, что из этого выйдет.
Листинг:
Код:
251:      SIND=1;
+00000075:   E081        LDI     R24,0x01         Load immediate
+00000076:   93800060    STS     0x0060,R24       Store direct to data space
252:      CPRG=25; //25*0.2=5S CPRG-- IN  T0
+00000078:   E189        LDI     R24,0x19         Load immediate
+00000079:   93800086    STS     0x0086,R24       Store direct to data space
+0000007B:   CFFF        RJMP    PC-0x0000        Relative jump
Обратите внимание на последнюю команду. Причем все что дальше в функции вообще выкинуто. Вот такие странности бывают от несоблюдения простых правил.

Еще непонятный момент:
Код:
MUSTM=eeprom_read_word(rr=&USTM);//USTM;
MTIME=eeprom_read_word(rr=&TIME);//TIME;
MPWM=eeprom_read_word(rr=&PWM);//PWM;
Что за rr такой? И зачем он нужен?
Код:
MUSTM=eeprom_read_word(&USTM);//USTM;
MTIME=eeprom_read_word(&TIME);//TIME;
MPWM=eeprom_read_word(&PWM);//PWM;
Может так лучше?
kison вне форума  
Непрочитано 10.02.2009, 18:37  
alberio
Гражданин KAZUS.RU
 
Аватар для alberio
 
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
alberio на пути к лучшему
По умолчанию

Такой вот вопрос, уже долго меня интересовавший:
А где можно почитать про оптимизацию в гцц?
Ну или про написания С-шного кода, грамотно совместимого с оптимизацией гцц?
Уж очень болезненым стал этот вопрос для меня в последнее время...
__________________
Sex, Druggs, Rock&Roll
alberio вне форума  
Непрочитано 10.02.2009, 18:42  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Сообщение от alberio
Ну или про написания С-шного кода, грамотно совместимого с оптимизацией гцц?
А нету там чего то особенного в плане оптимизатора. Он ровно такой же как в иаровском компиляторе или в родном армовском. Пишите по стандарту и проблем не будет. У ГЦЦ много особенностей, но не в плане оптимизации.
kison вне форума  
Непрочитано 10.02.2009, 18:45  
alberio
Гражданин KAZUS.RU
 
Аватар для alberio
 
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
alberio на пути к лучшему
По умолчанию

Сообщение от kison
Обратите внимание на последнюю команду. Причем все что дальше в функции вообще выкинуто. Вот такие странности бывают от несоблюдения простых правил.
Вот про это я и говорю - какие простые правила?
Только чур сильно не ругатся
__________________
Sex, Druggs, Rock&Roll
alberio вне форума  
Непрочитано 10.02.2009, 18:55  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от alberio
Вот про это я и говорю - какие простые правила?
Писать, писать, писать ...

kison уж 12 лет пишет.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 10.02.2009, 19:05  
alberio
Гражданин KAZUS.RU
 
Аватар для alberio
 
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
alberio на пути к лучшему
По умолчанию

А можно где-то прочитать написаное?
__________________
Sex, Druggs, Rock&Roll
alberio вне форума  
Непрочитано 10.02.2009, 19:12  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от alberio
А можно где-то прочитать написаное?
Он програмы пишет для МК и т.п. - т.е. ОПЫТ у него, "сын ошибок трудных" ...
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 10.02.2009, 19:16  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Сообщение от woroba
И вообще я в самом начале говорил давайте обсуждать компиляторы, а не предложенный алгоритм(каким бы кривым он не был, это во первых.
Для этого существуют синтетические тесты. Их в сети полно, правда именно CV в них обычно не участвует из-за своей нестандартности. Ну что делать, если стандартный тест на нем не собирается? Или свои какие можно придумать.
Сообщение от woroba
А во вторых я вам предлагал напишите свои правильные программы в двух вариантах для GCC и CV и давайте их протестим!
Вы же данные не даете Пределы времен/температур засекречены. И общее описание функциональности тоже нет. Сделай то, не знаю что с непонятными параметрами выходит.
kison вне форума  
Непрочитано 10.02.2009, 19:20  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Вот в итоге в WinAVR 1988 байт

http://telesys.ru/wwwboards/mcontrol...s/711916.shtml

Цитата:
Ну на ещё посмотри - раскомментил те понты и провёл мелкую рихтовку - получилось 1988 байт

Отправлено Vit 10 февраля 2009 г. 18:01

нахрена присваивать указателю (rr) адрес переменной, если потом этот указатель нигде не использовать - не понимаю.

разве что тестовая переменная, но зачем тогда мусор рассматривать? или это наследство от кодевижна?
http://ifolder.ru/10488694
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита кода Gn0me Микроконтроллеры, АЦП, память и т.д 7 25.06.2009 14:07
[Решено] Покупаете ли Вы лицензионный софт: САПР, компиляторы и т.п.? LeonidIwanowitch Отвлекитесь, эмбеддеры! 1 16.06.2008 20:33
GNU отладчики и компиляторы для МК um Микроконтроллеры, АЦП, память и т.д 7 22.12.2007 20:50
компиляторы crossfire Proteus, KiCAD и другие ECAD 2 20.10.2006 20:48
С компиляторы для Т89С51СС01 Andy Микроконтроллеры, АЦП, память и т.д 3 07.07.2003 07:18


Часовой пояс GMT +4, время: 22:19.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot