он принимает CodeBandSpectr как signed и получает 0xfff4. Укажи прямо тип unsigned, ибо по умолчанию он signed
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
DASM
13 мая 2003 г. 09:56
В ответ на:
Глючу я или Keil?
отправлено sda 13 мая 2003 г. 09:45
Составить ответ
|||
Конференция
|||
Архив
Ответы
Ответ: Более того даже unsigned не пройдет. Надо указывать как long.
—
Bill
(13.05.2003 10:11, 19 байт)
Ответ: Ошибся! Достаточно unsigned (StepSize * 16000u)
—
Bill
(13.05.2003 10:25,
пустое
)
Ответ:
—
sda
(13.05.2003 11:16, 306 байт)
Ответ см. выше.
—
Bill
(13.05.2003 11:33,
пустое
)
Вообще-то множит на 2
—
ShiphT
(13.05.2003 11:22,
пустое
)
Ага,но кому это надо?Я сделал как Электроник предложил - всё поехало.
—
sda
(13.05.2003 11:27,
пустое
)
переполнение при умножении.
—
DASM
(13.05.2003 10:14,
пустое
)
Откуда переполнение?Подставь числа и посчитай..
—
sda
(13.05.2003 11:08,
пустое
)
Элементарно - BandSpectr по дефолту в диапазоне -32768 - 32767. А нужно 64000.(-)
—
ShiphT
(13.05.2003 11:17,
пустое
)
Точно,блин!Спасибо.
—
sda
(13.05.2003 11:25,
пустое
)
А с каких пор 0х0200 в signed 0xFFF4?Imho это будет -12.
—
sda
(13.05.2003 10:09,
пустое
)
Он bandspectr в define вообще на 125 не делил
—
Elektronik
(13.05.2003 10:48, 167 байт)
О,так заработало,СПАСИБО!А почему он делить отказывался???
—
sda
(13.05.2003 11:21,
пустое
)
Ответ: Это называется свертка констант (constant folding). Все действия над константами выполняются в момент компиляции. Код генерируется тольо для результата.
—
Bill
(13.05.2003 11:40,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru