Если попытаться выводить сразу в пересчитанное значение дифф. давления, то возникает проблема (виснет программа), хотя по идее макрос заменяется своим определением во время работы препроцессора, поэтому не вызывает затрат времени. И стек не должен потреблять на мой взгляд.
Код
#define Vref 5.0
#define GAIN 64.0 // Gain
#define STEPS_B 8388608.0 // Full-Scale 2^(24-1) for bipolar operation
#define SPAN 16.7 // Span (mV) of Pressure Sensors = 1 psi
#define mm_Hg 51.714 // мм. рт. ст. (@ 0 гр. C)
#define Vin(adc_value) (((((adc_value)/STEPS_B) - 1.0)*Vref)/GAIN)
diffPressure = (Vin(adc_value)/SPAN)*mm_Hg;
Почему так происходит? Как мне выводить значение давления в реальном времени? Это работает под управлением ОС (scmRTOS).
#define GAIN 64.0 // Gain
#define STEPS_B 8388608.0 // Full-Scale 2^(24-1) for bipolar operation
#define SPAN 16.7 // Span (mV) of Pressure Sensors = 1 psi
#define mm_Hg 51.714 // мм. рт. ст. (@ 0 гр. C)
#define Vin(adc_value) (((((adc_value)/STEPS_B) - 1.0)*Vref)/GAIN)
diffPressure = (Vin(adc_value)/SPAN)*mm_Hg;