С Вашей помощью победил. Всем спасибо!
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Sl 25 февраля 2004 г. 14:59
В ответ на: Транслятор IAR 228 не правильно пишет константу в тип unsigned long int. отправлено Sl 25 февраля 2004 г. 13:56

1 вариант:
#define CIMulPWP (0x00000100L)
#define CLongPWM_Tmax (CPWM_Tmax*CIMulPWP)

2 вариант:
#define CIMulPWP (0x00000100)
#define CLongPWM_Tmax ((unsigned long int)CPWM_Tmax*(unsigned long int)CIMulPWP)

Второй вариант мне симпачнее, потому что меньше шансов запутаться потом с константой – почему long зататалкиваю в int.

А вот так нельзя -
#define CIMulPWP (0x00000100)
#define CLongPWM_Tmax (unsigned long int)(CPWM_Tmax*CIMulPWP) // NO RIGHT !!!!
(возможно переполнение при умножениии?)
Старший байт = 0xFF

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru