Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Вопрос по СИ
Отправлено
mandigit
02 ноября 2008 г. 11:40
Надо:
int v;
LO(v) = PORTA;
PORTA |= (1 << ALE);
HI(v) = PORTA;
встроенных макросов типа LO HI не нашел.
Попытка приведения типов приводит к лишнему коду:
v = PORTA;
//Вот здесь происходит излишнее обнуление старшего байта
v |= (sint16_t)(PORTA << 8)
//И здесь лишняя операция с младшим байтом
как можно это сделать без увеличения кода?
Составить ответ
|
Вернуться на конференцию
Ответы
Для начала прочитать букварь K&R
-
запрещенные_символы
(02.11.2008 13:47:15
194.19.225.133
, 378 байт)
согласен
-
mandigit
(03.11.2008 21:58:23
91.76.255.73
, 245 байт)
По пп.2 - здесь никакой, а дальше может вылезти боком.
-
запрещенные_символы
(03.11.2008 22:22:11
194.19.225.133
,
пустое
)
в асме <<8 будет просто записью в старший байт
-
колян безпарольный
(02.11.2008 12:11:54
193.200.150.45
,
пустое
)
Вопрос закрыт
-
mandigit
(02.11.2008 12:10:11
85.140.242.13
, 365 байт)
а почему считывание v идет с PORTA а не PINA ?
-
DASM
(02.11.2008 12:16:59
203.194.234.7
,
пустое
)
51вый поди
-
колян безпарольный
(02.11.2008 17:45:24
85.195.123.25
,
пустое
)
Дык может он порте данные хранит :)
-
Звероящер
(02.11.2008 12:26:20
89.31.118.253
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
что получится, если сложить 4 и 4 ?
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru