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

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

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

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

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

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


 
Опции темы
Непрочитано 15.04.2013, 15:28  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Сообщение от oleg110592 Посмотреть сообщение
Си он и в африке си
Это точно. И именно поэтому CvAvr компилятором Си не является.
Тут хотели примеров некоторые, ОК. Была прошедшим летом история, когда некий 'папан' ляпнул нечто запредельное - объявил массив без размера - и потом долго трахался с программой, поскольку CvAvr это за ошибку не посчитал, создал hex и - губки бантиком.
Сейчас расчехлю архив с CvAvr'ом и покажу ещё одну плюху, ждите.
Реклама:
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 15.04.2013, 16:04  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Наверное и в других компиляторах можно найти "плюхи"
на заплеванном сайте недавно читал: http://we.easyelectronics.ru/CADSoft...en-source.html
oleg110592 вне форума  
Непрочитано 15.04.2013, 16:43  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

oleg110592, Эти "плюхи" зло решаемое и меньшее чем сам CVAVR...

Вы любите перелопачивать слова оппонента в свою пользу ?
Я нигде не оплевывал сайт изиэлектроникс , это ваши слова. А я имел ввиду контингент форума .
Согласитесь это совершенно разные вещи...
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 15.04.2013 в 16:47.
dosikus вне форума  
Непрочитано 15.04.2013, 16:58  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Признаю был не прав - прошу понять и простить.
Когда то увидел подобное: http://supp.iar.com/FilesPublic/UPDI...cc430.ENU.html
многих там проблем не понимаю, но что-то захотелось назад к ассемблеру
oleg110592 вне форума  
Непрочитано 15.04.2013, 17:17  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Сообщение от oleg110592 Посмотреть сообщение
Наверное и в других компиляторах можно найти "плюхи"
на заплеванном сайте недавно читал: http://we.easyelectronics.ru/CADSoft...en-source.html
Вот вы эту библиотеку к CV подключите, и тогда всё поймёте.

Именно в этом и есть преимущество. Вообще наличие линкера самостоятельного, как и ассемблера. А CV непосредственно в код гонит. Разница понятна? Или пояснить?
Я могу слинковать прогу с ассемблерной библиотекой, с чужой библиотекой, с паскалевой библиотекой (если паскаль нормально сделан). Я могу результат компиляции просмотреть на ассемблере. Могу подменить библиотеку на свою собственную. И так далее ... Список этих могу будет очень длинным. Такой же как и немогу для CV.

Я не хаю CV. Если вам нравится - работайте. Я просто предлагаю шире на проблему посмотреть. Даже на CV можно по разному писать. Можно соблюдая стандарты языка (нравится он вам или нет) типа PORTA |= 1‹‹LED1 а можно используя ненормативную лексику типа PORTA.1 = 1; Во втором случае программа будет работать ТОЛЬКО в CV к чему вас аккуратно подталкивают разработчики.
SasaVitebsk вне форума  
Непрочитано 15.04.2013, 17:37  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Шо опять? CV vs WinAVR vs IAR. Мы тут уже о вреде CV для начинающих. Меня почти убедили.
Библиотеку если подключать, то возьму другой компилятор. Не приходилось, но думаю освою. Для мелких задач и CV сойдет. Сам пользуюсь CV редко.
oleg110592 вне форума  
Непрочитано 15.04.2013, 17:58  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Сообщение от oleg110592 Посмотреть сообщение
Шо опять?
Да нет. Просто ваш пример немного неудачный.
Взяли библиотеку скомпилированную одним компилятором с определённым типом выравнивания и применили с другим компилятором. Это чудо что она вообще заработала. Это как раз пример положительный. Такие фокусы с компиляторами слабых производителей вообще не прокатят.
SasaVitebsk вне форума  
Непрочитано 15.04.2013, 20:04  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Итак, пишем такой фрагмент:
Код:
struct  {
        char value, code;
    } xlattable[16] = {
        {'0',0}, {'1',0}, {'2',0}, {'3',0},
        {'4',0}, {'5',0}, {'6',0}, {'7',0},
        {'8',0}, {'9',0}, {'A',0}, {'B',0},
        {'C',0}, {'D',0}, {'E',0}, {'F',0}
    };
void    BuildXlat()
{
uchar   i;

        _putsf("Initiating XLAT table...\r");
        for(i=0; i ‹ (sizeof(xlattable)/sizeof(*xlattable)); ++i)
        {
            xlattable[i].code = somefunc(xlattable[i].value);
            
            _putsf("xlattable[");
            _puts(Int2Str(i,10));
            _putsf("] = {0x");
            _puts(Int2Str(xlattable[i].value,16));
            _putsf(";0x");
            _puts(Int2Str(xlattable[i].code, 16));
            _putsf("}\r");
        }
        _putsf("Initiating XLAT table done.\r");
}
смотрим, как он работает, в исполнении CvAvr:
и как он должен работать (IAR, первые две строки вывода - от предыдущего прогона):

Делаем выводы.

Кроме того, в CvAvr будет скомпилирован и такой вариант:
Код:
struct  {
        char value, code;
    } xlattable[16] = {
        {'0',0}, {'1',0}, {'2',0}, {'3',0},
        {'4',0}, {'5',0}, {'6',0}, {'7',0},
        {'8',0}, {'9',0}, {'A',0}, {'B',0},
        {'C',0}, {'D',0}, {'E',0}, {'F',0}
    };
void    BuildXlat()
{
uchar   i;

        _putsf("Initiating XLAT table...\r");
        for(i=0; i ‹ (sizeof(xlattable)/sizeof(*xlattable)); ++i)
        {
            xlattable.code = somefunc(xlattable.value);
            
            _putsf("xlattable[");
            _puts(Int2Str(i,10));
            _putsf("] = {0x");
            _puts(Int2Str(xlattable.value,16));
            _putsf(";0x");
            _puts(Int2Str(xlattable.code, 16));
            _putsf("}\r");
        }
        _putsf("Initiating XLAT table done.\r");
}
и он даст тот же результат, что и в первом случае.

Вспоминать все глюки CvAvr нет ни желания, ни возможности (поисковики - в помощь), но их более чем достаточно, чтобы перестать признавать в нем компилятор.
Да еще состав этих глюков с каждой новой версией меняется - это уж и вовсе "для настоящих джигитов". :о)))

По поводу кодогенератора тоже можно было бы "пройтись", однако, сдается мне, что халява для его любителей представляет бОльшую ценность, чем такие вещи, как самодокументируемость, модифицируемость, переносимость...

Пишу не для того, чтобы кого-либо, в чем-либо упрекнуть/уличить, нет - просто рекомендую не умножать свои ошибки на ошибки этого "чуда в перьях".
Если кому-то мое предостережение оказалось полезным, то и замечательно, нет - пусть, оные любители покоятся с миром...

___________________________________________
Сообщение от oleg110592 Посмотреть сообщение
Наверное и в других компиляторах можно найти "плюхи" ...
Даже если предположить, что в IAR Systems и у Павла Гайдука разработка/тестирование ПО поставлены одинаково хорошо (что со всей очевидностью не так) всё равно придется признать, что у IAR'овских продуктов преимущество, хотя бы уже потому, что у них гораздо больше пользователей, которые могут отловить ошибки, просочившиеся через бета-тестирование.

Сообщение от SasaVitebsk Посмотреть сообщение
А CV непосредственно в код гонит.
Всё ещё хуже - он сначала все сливает в один "__.c" файл, а уж потом "гонит". Повидимому, именно в связи с этим у него есть ещё и проблемы с инклудами/областью видимости, насколько я помню.
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Сказали "Спасибо" tempora
dosikus (15.04.2013)
Непрочитано 15.04.2013, 21:06  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

Не совсем корректный пример. Новичёк такие структуры применять не будет а если ему и надо будет - жизнь заставит перейти на другой компилятор. Зажечь светодиод и семисегментный индикатор и даже посчитать сложную формулу CV вполне справляется.
oleg110592 вне форума  
Непрочитано 15.04.2013, 21:30  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: FlowCode это оптимальный старт в програмировании AVR+PIC

oleg110592, Вы отстаете от жизни , новички уже начинают с M4 ...
Только адепты меги8 и pic84 топчуться на месте ...
__________________
Осторожно , злой кот
dosikus вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимальный лазерник для ЛУТ Kabron Делимся опытом 187 31.05.2016 10:51
Оптимальный привод тележки весом 200кг d-f-m Производственное оборудование 18 12.07.2010 00:29
[Решено] Оптимальный коттеджный домофон LAVR12 Автоматика и аппаратура связи 0 22.04.2010 20:17
О программировании AVR на C++ neiver Микроконтроллеры, АЦП, память и т.д 55 24.03.2010 19:33
Оптимальный ламинатор для ЛУТ snakesoft Делимся опытом 7 13.01.2010 22:41


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


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