PIC16F877 + DHT22

B0sc0:

  1. Texty máš nadefinovaný krátký a funkcemi sprintf píšeš i za pozice vyhrazené pro text.

Například :

[code] char text5[16];
.
.
.

  sprintf(text5,"Mereni: %d                ",a);[/code]

Jenže řetězec "Mereni: %d " má 24 znaků + délka textu hodnoty proměnné a + ukončovací 0 => tedy minimálně 26 znaků.

Nadefinuj jenom jeden řetězec a klidně ho po vytisknutí na LCD přepisuj.

[code] char text[64];
.
.
.

  sprintf(text,"Mereni: %d                ",a);
  GLCD_text(0, 1,text);
  sprintf(text,"Vlhkost:%d             ",vlhkost);
  GLCD_text(0, 5,text);[/code]
   vlhkost = (RH_byte1 << 8 )| RH_byte2; 

by chodit mělo, a pokud ne, zkus tam místo toho dát toto :

   vlhkost = (RH_byte1 * 256) + RH_byte2; 

P.S.: Pokud vidím snahu, tak proč bych nepomohl, když můžu.