Камрады! А как заставить препроцессор считать в u32. Хочу сделать приёмник 4-20 с точностью 0.025%. Имеется 1 точка калибрвки - опорное напряжение.
//константы измерителя тока датчиков токовая петля. точность не хуже 0,025%
#define basic_voltage_IDAC_mV 2500 //опорное напряжение(крутить сдесь)
#define resistance_IDAC_resistors_mOmh 124000 //сопротивление измерительных резисторов
#define resistance_IDAC_CH1_mOmh 124000 //сопротивление измерительного резистора в канале 1
//результирующий шаг по каналам с точностью не хуже .025%
#define step_IDAC_CH1_pA ((((basic_voltage_IDAC_mV*1000000)/4096))/resistance_IDAC_CH1_mOmh)
//----------------------------------------------------------------
u16 IADC_data_string[0];
printf( "%X ! - ",( (u32) (IADC_data_string * step_IDAC_CH1_pA) ) );
Кайло ругается
"main.c(81): warning: #61-D: integer operation result is out of range"
ЧЯДНТ?
Спсб.