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

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

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

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

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

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

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

Закрытая тема
Опции темы
Непрочитано 10.02.2009, 15:42   #121
woroba
Гражданин KAZUS.RU
 
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 866
Сказал спасибо: 99
Сказали Спасибо 216 раз(а) в 140 сообщении(ях)
woroba на пути к лучшему
По умолчанию

Сообщение от avr123-nm-ru
[
Может лучше 5.11 full из соседней ветки

или с офсайта 5.20 демо полнофункционалбню.
Не на ту клавишу начал, кончно 5.11 full из соседней ветки
Реклама:
__________________
Не ошибается лишь тот, кто ни чего не делает!
woroba вне форума  
Непрочитано 10.02.2009, 16:14   #122
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Сообщение от woroba
1)Молчание об ошибках и предупреждениях. Не было никаких предупреждений когда я пытался без макроса присвоить значение переменной в EEPROM, когда я передавал функции
void name (unsigned int a), значение unsigned char
и из чего функция возвращала че попало.
Это нормальное поведение компилятора. Эти типы совместимы и при смешанных операциях производится автоматическое преобразование char к int. Привыкайте - ибо стандарт. С еепром действительно сложности, но я их уже описал. Проблема в многоплатформенности компилятора. Он ведь не затачивается под конкретно АВР, а работает и под АРМ и под х86 и под MSP430 и т.д. У всех по разному строится работа с памятью организованной в отдельном адресном пространстве. На самом деле проблемы нет, я не пользуюсь макросами из eeprom.h, чего и всем советую. Надо писать свои функции, с проверкой того, что уже записано например. Зачем перезаписывать 0xAA на 0xAA? Только тратить время и ресурс еепром. И 10мс это катастрофически большое время. В системе с более-менее реалтаймовой реакцией на события это недопустимо в принципе. А если записывается не 1-2 байта, а например 8?
Сообщение от woroba
2)Не удобство в работе с битовыми операциями.
Вполне удобно. Пример по мотивам Вашей программы:
Код:
#define  COOLER_ON() PORTD |=(1‹‹PD4)
...
int main(void)
{
....
COOLER_ON();
...
Наглядно, легко запомнить и обладает самодокументируемостью, т.е. не требует комментария. Смысл действия сразу понятен. При изменении проекта, например кулер переехал на другой порт и другой вывод достаточно изменить всего одну строку.
Сообщение от woroba
3)Не преемственность версий. Старые макросы отменяются, новые вводяться.Поэтому старые проекты не компиляться в новых.
Интересное мнение. Вот Вы пользуетесь SIGNAL для описания обработчика прерываний. А знаете, что он давно не поддерживается, вместо этого введен ISR. Почувствовали какие то неудобства? Давайте пример старых макросов.
Сообщение от woroba
4)Ну и наконец увлекательная борьба с оптимизатором.Например
sind=2;
_delay_ms(1000.0);
sind=3;
от этой переменной зависит, что будет выводится на 7ми сегментный индикатор. А оптимизатор считает , а на фига промежуточное значение, давай сразу последнее.
Конечно. Но если хотя бы поверхностно почитать книгу по С, то всплывет интересный квалификатор - volatile. Именно с его помощью можно объяснить компилятору, что то что он хочет выкинуть выкидывать нельзя. Что это не ошибка программиста. Иначе - оптимизатору зеленый свет.
Сообщение от woroba
Вобщем пошел грузить IAR4.11, как отлажу эту прогу в нем, сравним ощушения.
Здесь работающий проект в двух компиляторах.
Я ведь не зря предложил переписать программу под ГЦЦ. В ней слишком много такого, что не понравится оптимизатору. Ваша программа легко влезет в 1,5Кб. Если поднапрячься, то и в 1Кб войдет.[/code]

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

Сообщение от kison
Надо писать свои функции
А че тогда было так переживать о закрытости библиотек CVAVR ? вы ж все рано свои писать рекомендуете.

Сообщение от kison
Зачем перезаписывать 0xAA на 0xAA? Только тратить время и ресурс еепром. И 10мс это катастрофически большое время.
Интересно !!! а как же вы в алгоритме УГАДАЕТЕ будет ли производится запись в епром или нет ?

Ни как. Значит 10 мС полюбому резервировать придется.

Сообщение от kison
Я ведь не зря предложил переписать программу под ГЦЦ. В ней слишком много такого, что не понравится оптимизатору. Ваша программа легко влезет в 1,5Кб. Если поднапрячься, то и в 1Кб войдет.
Дак это мастерство программиста.

Возможно она и в CVAVR будет еще меньше если кто-то более опытный ее оптимизирует под CVAVR .

Речь то о КОМПИЛЯТОРАХ а не о программистах.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 10.02.2009, 16:45   #124
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Тем более CVAVR я как раз и советую новичкам у которых НЕТУ опыта.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 10.02.2009, 16:50   #125
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

в WinAVR до 1896 уменьшился пишут:

Цитата:
просто Все функции, кроме contmp, объявил static.
http://telesys.ru/wwwboards/mcontrol...s/711691.shtml

Вот эо ЖЕСТЬ !!!

Цитата:
Это CodeVision с областями видимости не заморачивается, а не GCC тупит. Просто нужно знать как работать конкретным инструментом.
Вот потому-то начинающим CVAVR в самый раз ! ИМХО.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 10.02.2009, 17:14   #126
woroba
Гражданин KAZUS.RU
 
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 866
Сказал спасибо: 99
Сказали Спасибо 216 раз(а) в 140 сообщении(ях)
woroba на пути к лучшему
По умолчанию

Сообщение от avr123-nm-ru
в WinAVR до 1896 уменьшился
Да только там ещё 270 байт закоментированно по сравнению с CV. Приплюсуйте.
__________________
Не ошибается лишь тот, кто ни чего не делает!
woroba вне форума  
Непрочитано 10.02.2009, 17:18   #127
bbill_
Частый гость
 
Регистрация: 30.05.2006
Сообщений: 22
Сказал спасибо: 6
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
bbill_ на пути к лучшему
По умолчанию

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

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

Сообщение от avr123-nm-ru
А че тогда было так переживать о закрытости библиотек CVAVR ? вы ж все рано свои писать рекомендуете.
Я где то говорил - "переписать все"? Или всего одну, работающую с еепром? Причем при желании я могу сделать на основе существующей - исходники ведь есть.
Правда в данном конкретном случае это не имеет смысла, очень уж отличны алгоритмы записи.

Сообщение от avr123-nm-ru
Интересно !!! а как же вы в алгоритме УГАДАЕТЕ будет ли производится запись в епром или нет ?
Вопрос офигенный. Я угадывать не буду, я либо предусмотрю в алгоритме необходимость записи либо не предусмотрю. Зачем гадать?
Сообщение от avr123-nm-ru
Ни как. Значит 10 мС полюбому резервировать придется.
Хм. Значит то что у меня работает - волшебство? Я об этом не знал, даже 10мс предусмотреть не могу, алгоритм не позволяет. А логи/журналы пишу по 10-20 байт.

Сообщение от avr123-nm-ru
Дак это мастерство программиста.
Возможно она и в CVAVR будет еще меньше если кто-то более опытный ее оптимизирует под CVAVR .
Дело ведь не только в размере. Есть и другие факторы - быстродействие например. Обычно получение конечного продукта результат компромисса между этими двумя параметрами. Иногда важно одно, иногда другое. Сейчас уже скорость чаще важней. Кремний дешев, всегда можно взять кристалл с большей флешью. А большее быстродействие позволяет уменьшить тактовую - падает потребление к примеру. Да и частота конечна, практически все АВР имеют одинаковую максимальную тактовую, так что тут следующий кристалл не возьмешь.
Сообщение от avr123-nm-ru
Речь то о КОМПИЛЯТОРАХ а не о программистах.
Конечно. Но неправильно написанная программа работать не будет в правильном компиляторе. Вот и сейчас последний вариант неработоспособен. Я только бегло просмотрел:
Код:
unsigned char CPRG=0;
...
CPRG=25; //25*0.2=5S CPRG-- IN  T0
while (CPRG›0)MTIME=varprg (99,MTIME);
Зависон гарантирован на любом уровне оптимизации кроме O0. Пока программист не усвоит основные принципы результат радовать не будет.
kison вне форума  
Непрочитано 10.02.2009, 18:06   #130
woroba
Гражданин KAZUS.RU
 
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 866
Сказал спасибо: 99
Сказали Спасибо 216 раз(а) в 140 сообщении(ях)
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 в таймере и никакого зависания.
Код рабочий.
И вообще я в самом начале говорил давайте обсуждать компиляторы, а не предложенный алгоритм(каким бы кривым он не был, это во первых.
А во вторых я вам предлагал напишите свои правильные программы в двух вариантах для GCC и CV и давайте их протестим!
__________________
Не ошибается лишь тот, кто ни чего не делает!
woroba вне форума  
Закрытая тема

Закладки


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

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:09.


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