Страница 311 из 421

Re: CodeVision AVR в вопросах и ответах

Добавлено: Вт июл 08, 2014 14:11:47
Gudd-Head
ARV писал(а):чего стоит обнуление всех периферийных портов
Это ладно. Вон, люди ещё и ОЗУ обнуляют: http://radiokot.ru/forum/viewtopic.php? ... 1#p2065001 и чуть раньше.

Re: CodeVision AVR в вопросах и ответах

Добавлено: Вт июл 08, 2014 14:15:29
ARV
Gudd-Head писал(а):Вон, люди ещё и ОЗУ обнуляют
так то люди - им свойственно ошибаться. а то генерирует автоматика, которой хочется доверять априори :))) люди могут повысить свой уровень и перестать ошибаться, а кодвижн уже бог знает до какой версии дорос, а продолжает бред генерировать.

Re: CodeVision AVR в вопросах и ответах

Добавлено: Вт июл 08, 2014 14:18:37
Gudd-Head
Keil для СиЛаба у меня тоже генерировал код с очищеним ОЗУ. Причём и очищал не всё :dont_know:

Re: CodeVision AVR в вопросах и ответах

Добавлено: Вт июл 08, 2014 14:45:11
ARV
Gudd-Head писал(а):Keil для СиЛаба у меня тоже генерировал код с очищеним ОЗУ. Причём и очищал не всё :dont_know:
что-то я не понял: эта реплика в защиту кодвижна, или наоборот? ;)

Re: CodeVision AVR в вопросах и ответах

Добавлено: Вт июл 08, 2014 14:47:11
Gudd-Head
Эта... Просто что не только люди и кодвижн генерят бесполезный код.

Re: CodeVision AVR в вопросах и ответах

Добавлено: Ср июл 09, 2014 11:02:16
amd9800
Можно ли использовать такой вариант?

#define LED_OND(A) PORTD&=LED_D_Pos[A];
#define LED_ONB(A) PORTB&=LED_B_Pos[A];

я в плане переменной А? или во второй строке мне следует использовать другое название.
Например #define LED_ONB(B) PORTB&=LED_B_Pos;

Переменная LED_B_Pos и LED_D_Pos определенны как массив unsigned char.

Re: CodeVision AVR в вопросах и ответах

Добавлено: Ср июл 09, 2014 12:35:53
Аlex
Макрос

Код: Выделить всё

#define LED_ONB(A) PORTB&=LED_B_Pos[A]
в плане использования абсолютно ничем не отличается от

Код: Выделить всё

#define LED_ONB(B) PORTB&=LED_B_Pos[B]
ЗЫ: Точку с запятой только уберите в определении макроса, она там не нужна.

Re: CodeVision AVR в вопросах и ответах

Добавлено: Ср июл 09, 2014 12:58:49
amd9800
то есть переменная А имеет время жизни равная одной строке define и могу использовать сколько раз хочу переменную а вновой строчке define?

Re: CodeVision AVR в вопросах и ответах

Добавлено: Ср июл 09, 2014 13:03:30
Аlex
В макросах нет переменных, не путайте с функциями.

Re: CodeVision AVR в вопросах и ответах

Добавлено: Ср июл 09, 2014 13:04:50
amd9800
хорошо A и B тогда как называются?

Re: CodeVision AVR в вопросах и ответах

Добавлено: Ср июл 09, 2014 13:18:07
Vanes
Может кому пригодится тут неплохо изложено о директивах http://www.cyberforum.ru/blogs/18334/blog100.html

Re: CodeVision AVR в вопросах и ответах

Добавлено: Ср июл 09, 2014 14:54:06
ARV
amd9800 писал(а):хорошо A и B тогда как называются?
параметр макроса

Re: CodeVision AVR в вопросах и ответах

Добавлено: Ср июл 09, 2014 19:49:42
amd9800
Ну тогда я могу использовать один и тот же параметр(букву А например) макроса в разных макросах?

Re: CodeVision AVR в вопросах и ответах

Добавлено: Чт июл 10, 2014 07:14:21
ARV
само собой.

между заданным вами вопросом и ответом на него проходит не менее часа, я уж молчу о том, когда вы сможете ответ увидеть. за это время вы могли бы абсолютно спокойно скачать нормальное руководство по ЯЗЫКУ СИ и найти все ответы там самостоятельно. препроцессор - это одна из фундаментальных основ Си. Любите книгу - источник знаний! :)))

Re: CodeVision AVR в вопросах и ответах

Добавлено: Чт июл 10, 2014 10:51:33
amd9800
Не переживайте читал. Примеры есть, но вот как раз этого момента нету, не зря я и спросил. Только вот на форуме чтоб добится ответа на нужный вопрос надо вопрос ставить по 5 раз.

Re: CodeVision AVR в вопросах и ответах

Добавлено: Чт июл 10, 2014 11:02:11
ARV
да я-то не переживаю :)) это вы какие-то не те книги читаете, раз про макросы с параметрами не прочли нигде...

Re: CodeVision AVR в вопросах и ответах

Добавлено: Чт июл 10, 2014 11:06:25
Gudd-Head
amd9800 писал(а):Только вот на форуме чтоб добится ответа на нужный вопрос надо вопрос ставить по 5 раз.
Дык, правильно заданный вопрос в нужной теме уже содержит в себе половину ответа.

Re: CodeVision AVR в вопросах и ответах

Добавлено: Чт июл 10, 2014 11:10:50
amd9800
ARV писал(а):да я-то не переживаю :)) это вы какие-то не те книги читаете, раз про макросы с параметрами не прочли нигде...
Читал про макросы с параметрами. Просто там не было написано что параметр с таким же названием можно уже писать в другом макросе. Просто в книгах иногда забывают написать вроде мелкие и неважные нюансы, но они оказываются кому то важны.

Re: CodeVision AVR в вопросах и ответах

Добавлено: Чт июл 10, 2014 11:34:42
ARV
ну одно из двух: либо читали не то, либо не внимательно читали. иначе знали бы, что ПАРАМЕТР не существует более нигде, кроме как внутри той единицы программы, к которой он относится: параметр функции существует только внутри этой функции, параметр макроса - только внутри этого макроса.

Re: CodeVision AVR в вопросах и ответах

Добавлено: Чт июл 10, 2014 20:56:30
amd9800
Я вижу вы так любите философствовать. А ведь все начиналось с простого вопроса на которой можно было элементарно ответить, но видимо вы получаете удовольствие от процесса и поэтому растягиваете это удовольствие. Но как минимум я догадывался и поставил вопрос на который можно было ответить да или нет. И мы бы все сэкономили бы столько времени.