EXPORT int LCD1602DispLines(int devFD, char* line1, char* line2) { int ret = LCD1602DispStr(devFD, 0, 0, line1); if (ret != -1) { ret = LCD1602DispStr(devFD, 0, 1, line2); } return ret; }
int main(int argc, char ** argv) { int dhtTemp = 0; int dhtHdty = 0; int INT_BUF = 0; char* buf = (char *) malloc(LCD_LENGTH); memset(buf, 0, LCD_LENGTH); char* line1 = " hum: "; char* line2 = " temp: "; THmonitoring_init(); if (LCD1602DispLines(devFD_LCD, line1, line2) == -1) { printf("Fail to Display String\n"); } signal(SIGINT, Stop); printf("you can press ctrl+c to stop\n"); while(!stop) { if ((dht11Read(DHT_HUMIDITY, &dhtHdty)) == -1) { dhtHdty = 0; } if ((dht11Read(DHT_TEMP, &dhtTemp)) == -1) { dhtTemp = 0; } if (dhtHdty == 0) { sprintf(buf, "%s", "Er"); } else { INT_BUF = dhtHdty / 1000; sprintf(buf, "%d", INT_BUF); } LCD1602DispStr(devFD_LCD, 6, 0, buf); if (dhtTemp == 0) { sprintf(buf, "%s", "Er"); } else { INT_BUF = dhtTemp / 1000; sprintf(buf, "%d", INT_BUF); } LCD1602DispStr(devFD_LCD, 7, 1, buf); if (dhtTemp >= SET_TEMP) { if (THmonitoring_alart() != 0) { printf("fail to alart!\n"); break; } } sleep(1); THmonitoring_noalart(); sleep(1); } free(buf); THmonitoring_deinit(); return 0; }