Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
как двухбайтное -х сделать х в авр ?
Отправлено
whale
25 января 2009 г. 17:29
neg xl
neg xh
subi x,-1
adc xh
или обшибся ?
Составить ответ
|
Вернуться на конференцию.
Ответы
При взятии модуля int16 gcc из WinAVR делает так >>
-
Юрий_СВ
(25.01.2009 19:16:14
217.12.195.250
, 235 байт)
Т.е.,
-
Юрий_СВ
(25.01.2009 19:18:21
217.12.195.250
, 96 байт)
А ну попробуй int z1 = 0x8000+PINC; z1=abs(z1); PORTC = (z1>>8); // PINC естественно =0
-
VasilyS
(25.01.2009 19:38:14
80.92.96.25
,
пустое
)
Не знаю как правильно отображать код на этой конфе... Вот результат >>
-
Юрий_СВ
(25.01.2009 20:34:43
217.12.195.250
, 736 байт)
Результат равен исходному -32768. Вот как жить дальше? Число -32768 без ошибки или>>
-
VasilyS
(25.01.2009 20:52:32
80.92.96.25
, 127 байт)
Всё честно. Иначе зачем бы тогда были нужны операции с большей разрядностью, если бы трилионные числа можно было бы складывать в int 16 ? :)
-
Юрий_СВ
(25.01.2009 21:07:3
217.12.195.250
,
пустое
)
Похоже + 2 команды в подарок :) Поэтому и не люблю такие конструкции (z1>>8). Это как гвозди вазой забивать.
-
Юрий_СВ
(25.01.2009 20:41:28
217.12.195.250
, 87 байт)
Да это просто чтоб на старший бит посмотреть... Можно и без порта, прямо в регистрах увидеть
-
VasilyS
(25.01.2009 20:54:14
80.92.96.25
,
пустое
)
Я имел в виду "рогатость" конструкции (z1>>8). Через union описание более точное и эффективное.
-
Юрий_СВ
(25.01.2009 21:01:4
217.12.195.250
, 657 байт)
Вообще-то стандартный способ для доп. кода - проинверитровать и прибавить 1.
-
-=ВН=-
(25.01.2009 18:13:26
193.125.71.140
,
пустое
)
Ответ: Или так:
-
jean
(25.01.2009 18:09:58
94.50.7.138
, 73 байт)
не вот так
-
whale
(25.01.2009 17:45:12
88.87.80.109
, 79 байт)
Проверочку не забудь на -32768 (1000 0000 0000 0000).
-
VasilyS
(25.01.2009 18:00:5
80.92.96.25
,
пустое
)
а с neg как сделать ?
-
whale
(25.01.2009 18:05:59
88.87.80.109
,
пустое
)
Имхо для многобайтных никак не применить.
-
VasilyS
(25.01.2009 18:43:13
80.92.96.25
,
пустое
)
Дак в студии позырить
-
Torkitas
(25.01.2009 17:41:30
91.76.16.83
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 76:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru