roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 06:48

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 01 апр 2008, 00:08 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Терм, я конешно понимаю что на форуме ты самый молодой, но ты ведь не первый день на форуме? Это типа я скажу, собрал робота, а он не шивелится что делать?
Давай сюда:
1. Что должно получится в итоге?
2. Файлик проекта ВМлаба.
3. Текст программы.
4. и т. д.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 01 апр 2008, 14:38 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Myp писал(а):
1.
Код:
if (!(PIND & (1<<PIND.1))) // проверить "0" на линии 1 порта D

2.
Код:
if PIND.1 == 0 // проверить "0" на линии 1 порта D


1.
наверное всеже не PIND.1, а PD1
ибо PINx.y, на сколько помню, понимает только CV

в avrlibc определены позиции всех битов всех регистров как номер бита
те PD1 == 0x01

пользоваться _BV() я не люблю, т.к. писать нифига не меньше
это всего лишь макрос:
Код:
#define _BV(x) (1<<x)


а операция достаточно проста:
предположим что PIND = 0b00001010,
тогда:
msk = 0b00000001 << 1 => 0b00000010
PIND & msk => 0b00001010 & 0b00000010 => 0b00000010 > 0 == True
а если PIND = 0b01101000, то
PIND & msk => 0b01101000 & 0b00000010 => 0b00000000 == 0 == False

кстати чтобы не писать это есть макрос bit_is_set() (изучать хедеры avrlibc)

2.
код становится непереносим на другие компиляторы

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO