roboforum.ru

Технический форум по робототехнике.
Текущее время: 02 дек 2024, 14:09

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 144 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 10  След.
Автор Сообщение
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 09 май 2009, 12:38 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
По Ctrl+F9 идет линковка по конкретному МК.
По поводу глобальных переменных - используй их реже.
Еще совет: используй по возможности как можно меньше переменных вообще. То есть если в функции несколько циклов следующих друг за другом, для индекса не 3 объявляй переменных а 1. Ну и аналогично для остального. Памяти будет достаточно для определенных задач

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 09 май 2009, 12:49 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
hubble писал(а):
Что не везде локальную переменную можно использовать так гбе бы, по логике вещей, она должна была бы находиться

Это как?
galex1981 писал(а):
есть если в функции несколько циклов следующих друг за другом, для индекса не 3 объявляй переменных а 1. Ну и аналогично для остального.

Компиляторы достаточно сообразительны, чтобы самостоятельно определить время жизни переменной, и в случае с 3 циклами в большинстве случаев будет сгенерирован одинаковый код, что с 1 переменной, что с 3. Причем на расход ОЗУ это тоже мало влияет - локальные переменные в большинстве случаев хранятся в регистрах, а не в ОЗУ. Если конечно не объявлять кучу локальных переменных.

Кстати небольшое замечание по поводу "хватает ОЗУ" : если у контроллера 1024 байта ОЗУ, и компилятор сообщает, что используется 1020 - это еще не значит, что программа работать будет. Не забывайте про стэк.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 09 май 2009, 13:21 
Не в сети

Зарегистрирован: 04 май 2009, 20:46
Сообщения: 12
Откуда: Днепропетровск
Цитата:
Это как?

Переменную можно прописать в функции и она будет только как локальная. Прописаная вне функции она уже будет глобальной.
Прописав переменную глобальной, наверняка не ошибешься. При этом скушаешь больше ресурсов. Поэтому в пиках я, по возможности, и стараюсь все переменные устоить локальными. С авээркой (может быть это с CodeVision?) это у меня не прошло.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 09 май 2009, 13:36 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Непонятно, что значит "не ошибешься" и "это у меня не прошло"? Ошибешься в чем? Что конкретно не работает? И не мешало бы код показать.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 09 май 2009, 13:52 
Не в сети

Зарегистрирован: 04 май 2009, 20:46
Сообщения: 12
Откуда: Днепропетровск
To slavaslx:
скорее всего Ваша правда...с массивами.
Поменял const на flash
Код:
const unsigned char SignNumber_slim[]={
          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
          0xfd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
          ........................................
          0xe0,0x00,0xe0,0x00,0x00,0x00,0x00,0x00};


Код:
flash unsigned char SignNumber_slim[]={
          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
          0xfd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
          ........................................
          0xe0,0x00,0xe0,0x00,0x00,0x00,0x00,0x00};

и все откомпилировалось и отлинковалось. И еще больше 60% памяти flash осталось. Просветите, пожалуйста, насчет const и flash. Что и когда правильнее использовать?

Цитата:
Непонятно, что значит "не ошибешься" и "это у меня не прошло"? Ошибешься в чем? Что конкретно не работает?

Да, вроде бы все, кто отвечал, поняли. И, что конкретней, чем было написано, необходимо пояснить?
Но, скорее всего этот вопрос исчерпан. Кроме того, который я задал в этом посте.


Последний раз редактировалось hubble 09 май 2009, 13:59, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 09 май 2009, 13:57 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Ну может только для меня он не исчерпан. А может кто-то не понимает разницы между локальными и глобальными переменными. Вот я и пытаюсь прояснить.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 09 май 2009, 14:01 
Не в сети

Зарегистрирован: 04 май 2009, 20:46
Сообщения: 12
Откуда: Днепропетровск
Прошу прощения за свою не тактичность.
И все же. Если можно, какие-нибудь разъяснения насчет const и flash.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 09 май 2009, 14:08 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
hubble писал(а):
Прошу прощения за свою не тактичность.
И все же. Если можно, какие-нибудь разъяснения насчет const и flash.

Элементарно. const в соответствии со стандартом языка C - это модификатор, который запрещает изменение переменной после инициализации. Во всем остальном такая переменная не отличается от переменной без этого модификатора. flash - это расширение конкретного компилятора, предписывает размещение переменной в памяти программ. Почему const работала на пике? Наверно там компилятор такие переменные помещает во флэш, хотя это и неправильно.

Теперь твоя очередь :) Что же все таки означает вот это :
hubble писал(а):
Прописав переменную глобальной, наверняка не ошибешься. При этом скушаешь больше ресурсов. Поэтому в пиках я, по возможности, и стараюсь все переменные устоить локальными. С авээркой (может быть это с CodeVision?) это у меня не прошло.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 09 май 2009, 14:25 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
ну и если добавить, то доступ к flash константам медленнее

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 09 май 2009, 15:01 
Не в сети
Аватара пользователя

Зарегистрирован: 03 авг 2007, 19:43
Сообщения: 1437
Откуда: Екатеринбург
прог. языки: Си, асм со словарем
к еепром доступ точно медленнее а к флеш вродь такойже

Добавлено спустя 1 минуту 38 секунд:
и если размещать константы в озу то они будут и во флеш и в озу, инициализироваться один фиг из основной программы во флеш , и места как мне кажется займут еще больше


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 17 окт 2009, 16:55 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
CVAVR CodeVisionAVR 2.04.4a полный но в ознакомительных, учебных целях ...
Ниже !


Последний раз редактировалось avr123.nm.ru 07 ноя 2009, 13:16, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 20 окт 2009, 17:34 
Не в сети

Зарегистрирован: 11 июн 2009, 17:40
Сообщения: 17
CodeVisionAVR 2.04.4a:
http://letitbit.net/download/03520.0345bf3779debb01aef9a6f14/CodeVisionAVR_V2.04.4a.rar.html
http://depositfiles.com/files/xctqgo0h2


Последний раз редактировалось pva 29 окт 2012, 20:50, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 21 окт 2009, 19:16 
Не в сети
Мастер Самоделкин
Аватара пользователя

Зарегистрирован: 11 окт 2004, 19:20
Сообщения: 3678
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич
Нехило! В него включили библиотеку FAT_FS для SD\MMC от ELM-CHANa! :shock:

_________________
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 21 окт 2009, 22:33 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Потому что стоящая библиотека!

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 22 окт 2009, 01:42 
Не в сети
Мастер Самоделкин
Аватара пользователя

Зарегистрирован: 11 окт 2004, 19:20
Сообщения: 3678
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич
А я почти переписал ее сам ручками для CVAVR - так они меня опередили! :cry:

_________________
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 144 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 10  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO