[an error occurred while processing this directive]
Совсем отупел. По макросам в С не понимаю
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
Отправлено
DASM 20 августа 2002 г. 17:29
|
|
|
|
Пишу (AVR к примеру, не важно)
#define PIN1 PORTD,0
#define set1(port,bit) port |= (1<#define set0(port,bit) port &= ~(1<#define set(port,bit,dir) set##dir(port,bit)
Далее.
set(PORTD,0,1) - работает
set(PIN1,1) - не работает (не хватает параметров в макросе)
Т.е он как бы предварительно не разложил PIN1 на два аргумента. В стандартах я чего-то ничего не нашел. В чем грабли ?
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Ответ: — ValterG (21.08.2002 10:53, 89 байт)
- Проблема разрешима — Аскольд (21.08.2002 08:21, 250 байт)
- А почему Вы решили, что это должно работать? Насколько я знаю С (ANSI C, про K&R C сейчас ничего не скажу), так писать недопустимо. — Oldring (20.08.2002 20:02, пустое)
- Я вот чего не понимаю: зачем так писать программы, если сейчас без пол литра не разберешься, а через год, так точно неделю будешь думать? — viiv (20.08.2002 19:19, пустое)
- PINx - read only. Это физически не регистр, а текущее состояние выводов порта. — Stewart Little (20.08.2002 17:43, пустое)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru