/** * @ Opis Wykonuje pomiar cisnienia i odczytuje wynik. * @ Parametry Brak. * @ Zwracana wartosc Cisnienie w Pa. */ int32_t getPressure() { int32_t pressure; BMP180_StartTemperature(); _delay_ms(30); BMP180_GetTemperature(); _delay_ms(10); BMP180_StartPressure(); _delay_ms(30); pressure = BMP180_GetPressure(); return pressure; }
void sensor_timerfunc(void *arg) { int32_t temperature; int32_t pressure; char buff[20]; ets_uart_printf("Get temperature and pressure...\r\n"); temperature = BMP180_GetTemperature(); pressure = BMP180_GetPressure(OSS_0); console_printf("Temperature: %s *C\r\n", BMP180_Int2String(buff, temperature)); console_printf("Temperature: %d.%d *F\r\n", (int)(9 * temperature / 50 + 32), (int)(9 * temperature / 5 % 10)); console_printf("Pressure: %d mm rt.st.\r\n", (int)(pressure/133.322368)); console_printf("Pressure: %d m water.st.\r\n", (int)(pressure/9806.65)); console_printf("Pressure: %d.%d mbar\r\n", (int)(pressure), (int)(pressure%100)); console_printf("Pressure: %d.%d mmHg\r\n", (int)(pressure * 75 / 10000), (int)((pressure * 75 % 10000) / 1000)); console_printf("Altitude: %d\r\n", BMP180_CalcAltitude(pressure)); }
int main(void) { InitUART(9600, 8); SendString("Hej UART \r\n"); BMP180_Init(102600); while(1) { SendString("Device id: "); SendInteger((int)BMP180_GetDeviceId()); SendString("\r\n \r\n"); SendString("Temperature: "); SendInteger(BMP180_GetTemperature()); SendString("\r\n-----------------\r\n"); _delay_ms(1000); } return 1; }