if (PINB & 0x01) ....
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
Bill
11 марта 2004 г. 16:58
В ответ на:
Привидите пример, пожалуйста, для IAR EW для AVR (+)
отправлено Alesandro 11 марта 2004 г. 16:50
Составить ответ
|||
Конференция
|||
Архив
Ответы
Спасибо! (-)
—
Alesandro
(11.03.2004 21:37,
пустое
)
Так наверное тоже целый байт будет вводить. По-моему с битами надо так (хотя не проверял)
—
Михаил Е.
(11.03.2004 17:11, 5618 байт)
все правильно, с битами в Си так и надо. К счастью в заголовке iomacro.h это уже все сделано, и к битам можно обращаться как PINB_Bit0
—
bialix
(11.03.2004 17:40,
пустое
)
Не гадайте, Bill написал абсолютно правильно и даже без всякой оптимизации код будет правильный
—
prosto_Alex
(11.03.2004 17:20,
пустое
)
ошибаетесь - без оптимизации будет оверхед (+)
—
bialix
(11.03.2004 17:37, 258 байт)
Интересно, без оптимизации не пробовал, Хотя все может быть. ТОлько я не могу представить себе случай, когда требуется отключать оптимизацию.
—
Bill
(11.03.2004 17:48,
пустое
)
а я люблю подглядывать :-) в асмовый код, потому не сразу оптимизацию включил
—
bialix
(11.03.2004 17:54, 58 байт)
Так я тоже люблю туда подглядывать. Правда, помню, один раз без оптимизации. Но там не в портах была проблема.
—
Bill
(11.03.2004 18:14,
пустое
)
Может его сразу как нибудь обозвать, этот бит? Например BIT1. Тогда можно просто написать if ( BIT1) ......
—
=L.A.=
(11.03.2004 17:19,
пустое
)
Вы конечно правы, лучше всегда иметь симвоическое определение битов, хотя в примере ошибка :). Если опрделить бит: #define BUTTON_BIT (1<<2)
—
Bill
(11.03.2004 17:31, 223 байт)
на HiTECH : static bit HANDSET @ (unsigned)&FLAGS*8+1; С портами проще, там уже есть макросы.
—
=L.A.=
(11.03.2004 17:43,
пустое
)
Прошу прощения, яглядел с IARовской "колокольни".
—
Bill
(11.03.2004 18:05,
пустое
)
Как то ИАР слабоват. Элементарные удобства - "во дворе".
—
=L.A.=
(11.03.2004 18:43,
пустое
)
Так я же его в define обозвал.
—
Михаил Е.
(11.03.2004 17:23,
пустое
)
Так там у вас еще структура зачем-то. Без нее разве нельзя бит обозвать? В HiTECH PICC можно
—
=L.A.=
(11.03.2004 17:26,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru