Страница 5 из 421
Добавлено: Сб сен 15, 2007 20:29:28
Negor
Попробую... Есть пара вопросов. В процессе инициализации дисплея на пине Enable должен быть высокий уровень?
Добавлено: Чт ноя 22, 2007 14:35:22
MetEl
CV AVR пишет evaluation version file size limit exceeded... и чё?
Любой блок ремаркирую всё нормально (типа объём уменьшаю).
Раньше такое тоже бывало, но когда появлялось, а когда исчезало...
В чём писать то?
У меня какраз сейчас самый кайф - менюшки и циферки оживают.
Меня по прежнему бросает в прострацию кагда я смотрю на эти простыни! И мне (толькочто чтото осилившему) бъёт по мозгам!
А там- вон то. То-да сё... жми сюда!
If -ы глючат!
if (ляляля){
if (бебебе){
то даcё }
if(а вот нада){
то и это}
}
бебебе не выполняется никогда.
а вот это нада тоже бредит.
Думаю применить case, но примеры не понятные...
Вот так пойдёт?
switch (PORTB.5==0)
{
case a=1: a++; break;
case a=2: a++; break;
case a=3: a=1; break;
default : ;
}
Добавлено: Чт ноя 22, 2007 14:48:08
tych
MetEl писал(а):Вот так пойдёт?
Код: Выделить всё
switch (PORTB.5==0)
{
case a=1: a++; break;
case a=2: a++; break;
case a=3: a=1; break;
default : ;
}
Похоже так должно быть
Код: Выделить всё
switch (a) { // выбор в зависимости от значения переменной - a
case 1: a++; break;
case 2: a++; break;
case 3: a=1; break;
}
PORTB.5==0 не знаю к чему там.
Добавлено: Чт ноя 22, 2007 14:49:33
tych
MetEl писал(а):If -ы глючат !
Вы не верно их пишите. Посмотрите на стр. 5 как правильно.
Добавлено: Чт ноя 22, 2007 15:09:03
MetEl
Никаких выводов я не могу сделать из 05 стр.
По switch посмотрите сами и свыжим взглядом.
А на ссылках по примерам (for посмотрите...) вообще тупик.
Хотя я больше им пользуюсь (citforum-учебнгик по Си).
И посмотрите шаблон for вCV AVR!
Добавлено: Чт ноя 22, 2007 15:28:56
tych
MetEl писал(а):По switch посмотрите сами и свыжим взглядом.
Напишите словами ПОДРОБНО что вам нужно сделать.
MetEl писал(а):А на ссылках по примерам (for посмотрите...) вообще тупик.
И посмотрите шаблон for вCV AVR!
Вы же про IF писали !
For откуда "всплыл" в бесседе ?
Или вы перешли в стадию обучения когда вопросы растут как снежный ком ?
Добавлено: Чт ноя 22, 2007 15:37:35
tych
MetEl писал(а):По switch посмотрите сами и свыжим взглядом.
Я по ошибке редактированием прежнего сообщения сделал - посмотри выше.
Добавлено: Чт ноя 22, 2007 15:42:36
tych
MetEl писал(а):Никаких выводов я не могу сделать из 05 стр.
По switch
Вот цитата сто страницы 5 "Си для МК"
Код: Выделить всё
switch (выражение) {
case 5:
/* этот код будет выполняться если результат вычисления выражения равен числу 5 ...
А у вас как связано то что в скобках () со строчками выбора ???
Код: Выделить всё
switch (PORTB.5==0)
{
case a=1: a++; break;
case a=2: a++; break;
case a=3: a=1; break;
default : ;
}
Что вы тут не можете понять ?
Что у меня написано не понятно ?
Уверен что IF и FOR вы тоже поймете если прочитаете ВНИМАТЕЛЬНО и НЕСПЕША ! думая ...
ЖУЙТЕ!
Добавлено: Чт ноя 22, 2007 16:14:29
MetEl
tych писал(а):
Код: Выделить всё
switch (выражение) {
case 5:
/* этот код будет выполняться если результат вычисления выражения равен числу 5 ...
Видетели, я не вижу в,- " /* это код выполнятся если..."
никакого кода! Там нету ни чиго!!!
Я догадываюсь, что вы имели ввиду, что этот код (программа чтоли?) может быть там написан!!! ГДЕ код , да и что это такое!
Как я это понимаю :
{ // начало тела програмы
int s;
// int объявление (предоставление пячейки памяти, чтоб скомпоновать и распределить место в машинном коде программы) переменной под названием s (s для удовства, желательно подходящее по смыслу с тем с тем где оно и как будет применятся) или mama_papa...
**тело програмы (общее) ***
if (условие) { ***тело женское***
// if - оператор - который оперируя заданными условиями
направляет точку работы программы в следующее за ним тело (женское) или пропуская тело женское безусловно(еслибы был оператор else (то (.) выполнения программы перешло бы в тело следующее за else)) на нижеследующие строки програмы( в общее тело)
}
*** тело программы (общее, и всё тоже)***
}
пример:
{
int s,r;
***
if(PORTB.5==0){
if (s=1){
r++;
s=0;
}
if(s=2){
r--;
s=1;
}
}
То что в примере, я пытаюся написать и осуществить. Но оно не работает.
ЗЫ:
(.) выполнения пограмы - счётчик команд.
Re: ЖУЙТЕ!
Добавлено: Чт ноя 22, 2007 16:23:03
tych
MetEl писал(а):Видетели, я не вижу в,- " /* это код выполнятся если..."
никакого кода! Там нету ни чиго!!!
ДАК !!! Страницу то надо с начала читать! Тогда и ясен будет стиль изложения. Естественно при чтении с серидины не всё будет ясно.
Но точто после "кэйз" должно быть ЧИСЛО - КОНСТАНТА и так ясно ?
И что это число результат вычисления выражения в скобках тоже ЯСНО.
Re: ЖУЙТЕ!
Добавлено: Чт ноя 22, 2007 16:25:47
tych
MetEl писал(а):
if (условие) { ***тело женское***
// if - оператор - который оперируя заданными условиями
направляет точку работы программы в следующее за ним тело (женское) или пропуская тело женское безусловно(еслибы был оператор else (то (.) выполнения программы перешло бы в тело следующее за else)) на нижеследующие строки програмы( в общее тело)
}
*** тело программы (общее, и всё тоже)***
}
Где вы такую чепуху находите ???
Вот на странице 5 написано:
if(){}else{}; идеальная конструкция если вам нужно выполнить какую то часть программы при наличии каких либо условий :
Код: Выделить всё
if (выражение) { /* делать этот код если выражение "истина" - т.е. результат его вычисления не ноль */
}
else { /* делать этот код если выражение "ложь" - т.е. результат его вычисления равен нулю */
};
ЧЁ тут непонятно ТА ?
Вот что мне нада
Добавлено: Чт ноя 22, 2007 16:39:15
MetEl
tych писал(а):
ЧЁ тут непонятно ТА ?
А если у меня нет else. Или оно мне не нада?!
Что мне там писать! Сразу выход?
Мне просто нада:
Если PORTB на земле.
{
проверить н если:
-н=1 тогда { н=3 и ф=20}
-н=2 тогда { н=1 и ф=10}
-н=3 тогда {н=2 и ф=0}
}
Re: ЖУЙТЕ!
Добавлено: Чт ноя 22, 2007 16:48:08
MetEl
tych писал(а):
Вот на странице 5 написано:
if(){}else{};
/* делать этот код если выражение
}
/* делать этот код если выражение
ЧЁ тут непонятно ТА ?
Который оперируя заданными условиями направляет точку работы программы... Разве это не одно и тоже?
Я сперва вижу
if(){}else{}; и сразу же так и запоминаю...
Потом так и пишу.
А на пол страницы искать где там у вас закрывающая ковычка стоит... и потерялся.
((
Добавлено: Чт ноя 22, 2007 17:29:59
MetEl
tych писал(а):metEl писал(а):
И посмотрите шаблон for вCV AVR!
Вы же про IF писали !
For откуда "всплыл" в бесседе ?
Или вы перешли в стадию обучения когда вопросы растут как снежный ком ?
Извените описАлся, читать как, - "И посмотрите шаблон IF в CVAVR".
Там ; в конце оператора If , если нету else...
Вообщето я не обучаюсь.
Я говорю что if в if -е в CVAVR глючит.
Добавлено: Чт ноя 22, 2007 18:48:37
ARV
Изучить классический Си надо в первую очередь, а лишь потом браться за его версию для МК. Причем изучать по книгам, на которых не одно поколение программистов выросло, а не по курсам "для чайников".
По всем предыдущим вопросам и выкрикам можно сделать один разъединственный вывод: вопросы задает человек, не имеющий ни малейшего понятия о том языке, на котором пытается писать программы.
Так дела не делаются. У tych-а еще терпения хватает че-то отвечать... а решение всего лишь в преодолении лени - MetEI, прочти книжку про Си!
Re: Вот что мне нада
Добавлено: Чт ноя 22, 2007 20:37:00
tych
MetEl писал(а):А если у меня нет else. Или оно мне не нада?!
Что мне там писать! Сразу выход?
Можно пустоту оставить { пусто } а можно и желательно просто
else{} не писать -
о чем и написано на стр. 5
MetEl писал(а): Мне просто нада:
Если PORTB на земле.
{
проверить н если:
-н=1 тогда { н=3 и ф=20}
-н=2 тогда { н=1 и ф=10}
-н=3 тогда {н=2 и ф=0}
}
Дак чтобы проверить на земле ли ножка PB5 вам
НУЖНО ВНИМАТЕЛЬНО прочитать стр. 2 курса - "устройство AVR" и понять из какого регистра читают ВХОДНЫЕ сигналы !
Код: Выделить всё
if(регистр входных сигналов B.5==0){
swich как я написал вам выше.
};
Добавлено: Чт ноя 22, 2007 22:11:51
MetEl
А может дело в компиляторе?
Один знакомый присла прогу для ознакомления.
Там всё просто, хочешь в строчку пишу с ; хочешь вертикально раскладывай.
Хочешь за if-ом хоть пол страницы.
Всё работает правильно.
У меня компилятор не ругается, просто контроллер не делает так как в програме. Вот такое-
if(a<x<b){
ляляля}
Он тоже не выполняет...
Скачал ICCV7 for AVR думал запущу. Нет. Нет atmega128.h, delay.h.
((((
Добавлено: Чт ноя 22, 2007 23:13:25
tych
MetEl писал(а):Вот такое-
if(a<x<b){
ляляля}
Он тоже не выполняет...
Я взял пример C:\CVAVR\examples\LED
и вставил ваше выражение - у меня выполняет, не ругается. Можете скомпилировать и асм листинг посмотреть.
MetEl писал(а):Скачал ICCV7 for AVR думал запущу. Нет. Нет atmega128.h
Там заголовки по другому называются.
======== А вообще если несколько компиляторов
кривые то нужно в "танцоре" проблему поискать ИМХО.
Добавлено: Ср ноя 28, 2007 12:41:13
lexmulya
Потому что нужно писать
В остальных ваших примерах тоже ошибки
Добавлено: Ср ноя 28, 2007 12:48:55
tych
lexmulya писал(а):Потому что нужно писать
В остальных ваших примерах тоже ошибки
Лучше &&