15.04.2013, 15:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: FlowCode это оптимальный старт в програмировании AVR+PIC
Сообщение от oleg110592
|
Си он и в африке си
|
Это точно. И именно поэтому CvAvr компилятором Си не является.
Тут хотели примеров некоторые, ОК. Была прошедшим летом история, когда некий 'папан' ляпнул нечто запредельное - объявил массив без размера - и потом долго трахался с программой, поскольку CvAvr это за ошибку не посчитал, создал hex и - губки бантиком.
Сейчас расчехлю архив с CvAvr'ом и покажу ещё одну плюху, ждите.
__________________
There's always more than one way to skin a cat.
|
|
|
|
15.04.2013, 16:04
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: FlowCode это оптимальный старт в програмировании AVR+PIC
Наверное и в других компиляторах можно найти "плюхи"
на заплеванном сайте недавно читал: http://we.easyelectronics.ru/CADSoft...en-source.html
|
|
|
|
15.04.2013, 16:43
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: FlowCode это оптимальный старт в програмировании AVR+PIC
oleg110592, Эти "плюхи" зло решаемое и меньшее чем сам CVAVR...
Вы любите перелопачивать слова оппонента в свою пользу ?
Я нигде не оплевывал сайт изиэлектроникс , это ваши слова. А я имел ввиду контингент форума .
Согласитесь это совершенно разные вещи...
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 15.04.2013 в 16:47.
|
|
|
|
15.04.2013, 16:58
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: FlowCode это оптимальный старт в програмировании AVR+PIC
Признаю был не прав - прошу понять и простить.
Когда то увидел подобное: http://supp.iar.com/FilesPublic/UPDI...cc430.ENU.html
многих там проблем не понимаю, но что-то захотелось назад к ассемблеру
|
|
|
|
15.04.2013, 17:17
|
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: FlowCode это оптимальный старт в програмировании AVR+PIC
Вот вы эту библиотеку к CV подключите, и тогда всё поймёте.
Именно в этом и есть преимущество. Вообще наличие линкера самостоятельного, как и ассемблера. А CV непосредственно в код гонит. Разница понятна? Или пояснить?
Я могу слинковать прогу с ассемблерной библиотекой, с чужой библиотекой, с паскалевой библиотекой (если паскаль нормально сделан). Я могу результат компиляции просмотреть на ассемблере. Могу подменить библиотеку на свою собственную. И так далее ... Список этих могу будет очень длинным. Такой же как и немогу для CV.
Я не хаю CV. Если вам нравится - работайте. Я просто предлагаю шире на проблему посмотреть. Даже на CV можно по разному писать. Можно соблюдая стандарты языка (нравится он вам или нет) типа PORTA |= 1‹‹LED1 а можно используя ненормативную лексику типа PORTA.1 = 1; Во втором случае программа будет работать ТОЛЬКО в CV к чему вас аккуратно подталкивают разработчики.
|
|
|
|
15.04.2013, 17:37
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: FlowCode это оптимальный старт в програмировании AVR+PIC
Шо опять? CV vs WinAVR vs IAR. Мы тут уже о вреде CV для начинающих. Меня почти убедили.
Библиотеку если подключать, то возьму другой компилятор. Не приходилось, но думаю освою. Для мелких задач и CV сойдет. Сам пользуюсь CV редко.
|
|
|
|
15.04.2013, 17:58
|
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: FlowCode это оптимальный старт в програмировании AVR+PIC
Сообщение от oleg110592
|
Шо опять?
|
Да нет. Просто ваш пример немного неудачный.
Взяли библиотеку скомпилированную одним компилятором с определённым типом выравнивания и применили с другим компилятором. Это чудо что она вообще заработала. Это как раз пример положительный. Такие фокусы с компиляторами слабых производителей вообще не прокатят.
|
|
|
|
15.04.2013, 20:04
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
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
|
|
|
15.04.2013, 21:06
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: FlowCode это оптимальный старт в програмировании AVR+PIC
Не совсем корректный пример. Новичёк такие структуры применять не будет а если ему и надо будет - жизнь заставит перейти на другой компилятор. Зажечь светодиод и семисегментный индикатор и даже посчитать сложную формулу CV вполне справляется.
|
|
|
|
15.04.2013, 21:30
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: FlowCode это оптимальный старт в програмировании AVR+PIC
oleg110592, Вы отстаете от жизни , новички уже начинают с M4 ...
Только адепты меги8 и pic84 топчуться на месте ...
__________________
Осторожно , злой кот
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:24.
|
|