int main() { struct data_packet packet; packet.senderAddress = MY_ADDRESS; packet.receiverAddress = HOME_ADDRESS; led_init(); TX_USART_Init(1200); sht1x_init(); while(1) { _delay_ms(1000); uint16_t humidity = sht1x_read_humidity(); uint16_t temperature = sht1x_read_temp(); while (humidity == -1 || temperature == -1) { sht1x_reset(); led_toggle(); _delay_ms(100); humidity = sht1x_read_humidity(); temperature = sht1x_read_temp(); } packet.data[0] = humidity & 0xff; packet.data[1] = (humidity >> 8) & 0xff; packet.data[2] = temperature & 0xff; packet.data[3] = (temperature >> 8) & 0xff; send_packet(&packet); led_toggle(); } return 0; }
int main(void) { led_init(); sht1x_init(); //sser_init(); wdt_enable(WDTO_1S); /* Even if you don't use the watchdog, turn it off here. On newer devices, * the status of the watchdog (on/off, period) is PRESERVED OVER RESET! */ /* RESET status: all port bits are inputs without pull-up. * That's the way we need D+ and D-. Therefore we don't need any * additional hardware initialization. */ odDebugInit(); DBG1(0x00, 0, 0); /* debug output: main starts */ usbInit(); usbDeviceDisconnect(); /* enforce re-enumeration, do this while interrupts are disabled! */ unsigned char i = 0; while(--i){ /* fake USB disconnect for > 250 ms */ wdt_reset(); _delay_ms(1); } usbDeviceConnect(); sei(); DBG1(0x01, 0, 0); /* debug output: main loop starts */ for(;;){ wdt_reset(); usbPoll(); } return 0; /* never reached */ }
int main() { signal(SIGINT, sig_handler); //! [Interesting] // Instantiate a SHT1X sensor using D2 as the clock, and D3 as the // data pin. sht1x_context sensor = sht1x_init(2, 3); if (!sensor) { printf("sht1x_init() failed.\n"); return 1; } // Every 2 seconds, update and print values while (shouldRun) { if (sht1x_update(sensor)) { printf("sht1x_update() failed, exiting.\n"); break; } printf("Temperature: %f C\n", sht1x_get_temperature(sensor)); printf("Humidity: %f RH\n", sht1x_get_humidity(sensor)); printf("\n"); upm_delay(2); } //! [Interesting] printf("Exiting\n"); sht1x_close(sensor); return 0; }