ТАВРОФОРУМ

Вернуться   ТавроФорум > Не автомобильные темы > Решение бытовых проблем > Компьютеры

Компьютеры Уголок для решения бытовых компьютерных проблем.

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.10.2013, 14:43   #11
Said
 
Said
 
Адрес: Днiпро
Возраст: 47
Сообщений: 1,677
Машина: 1102 1,1л. 93г.в., СПИРТ+МПСЗv1+БК2.5S+ЭБН
Длина: 8740мкм
Диаметр: 31мм
Отправить сообщение для Said с помощью ICQ
По умолчанию

Pilot
Отмечучь и я, чисто в рекомендательном плане.
Уберите goto в коде поста №31, оно там ни к чему вообще, while(1) и так выполнится с первой строчки, если не сработает ни одно условие, при этом желательно в конце while поставить небольшую задержку (~100мс), если планируете использовать какие-то дополнительные процедуры.
И я б, честно, подобные строки if(PORTB3==1 && PORTB0==1 && PORTB1==1)
заменил бы на if (PORTB==0b00001011)
Почему? Да потому что оператор if выполнится всего один раз вместо 5
Ну или для полноты понимания, при помощи define создайте варианты необходимых условий. Вы хоть код понимать будете ну и помочь будет легче вновь читающим.
К примеру
#define VAR0 0b00001011
if (PORTB==VAR0)...
или
if (PORTB & VAR0)...

что полностью заменяет if(PORTB3==1 && PORTB0==1 && PORTB1==1) и облегчает чтение.
Этим разгрузите код и вероятно облегчите жизнь дебугеру.
Конечно, если так можно, а пятой точкой ощущаю, что можно наврняка.

Kino, к стати, правильно подсказывает, насчет отдельной процедуры, но по опыту работы с контроллерами, я б нестал использовать такие тяжелые формы как case, от этого легче не станет, а код усложнит и займет на порядок больше тактов, описанный выше мною вариант более применим к контроллерам, со статическмими условиями регулятора.
__________________

Последний раз редактировалось Said; 30.10.2013 в 14:54.
Said вне форума   Ответить с цитированием
 


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

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

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


Текущее время: 10:38. Часовой пояс GMT +3.


Перевод: zCarot Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.