#include "p24FJ128GA306.h" // uvozovky znamenaji aktualni adresar, <> adresar tam nekde - proste ten jeho // my ted stdio ani string k nicemu nepotrebujeme, jenom aby bylo videt, jak se to dela void main (void) { int i; char j; typedef unsigned char BYTE; typedef unsigned int WORD; typedef unsigned long DWORD; BYTE k; WORD l; DWORD m; BYTE r; WORD ii; BYTE a1; BYTE a2; WORD ij; /* pokud date promennou byte mezi word, tek ta promenna byte sezere 2 byte v RAM ale pokud date byte za sebe v deklaracich - a1 , a2 tak to opravdu sezere jenom jeden byte - setrte pameti !!!!! pustte si simulator, breakpoint na prvni instrukci, F9, potom F7, a view -WATCH - do okna dat jednotlive promenne, jsou tam jejich adresy */ char pole[100] ={"Nazdar Tomasi " }; /* tohle nadefinuje pole v RAM, a narve tam jako pocatecni hodnoty retezec Nazda Tomasi. podivat do View -Watch - addnout symbol pole TO ALE NECHCEME !!!!!! */ /* tp, co potrebujeme, se jemnuje Program Space Visibility to umozni nacpat nememma data do pameti programu data se pak NEDAJi MENIT, ale u konstatn to je jenom dobre a usetrime cennou pamet RAM prirucka 6.2 MANAGED PSV POINTERS */ __attribute__((space(psv))) char *dlouhyretezec = "Tady zacina dlouhy tetezec ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopq123456789 a tadz koinci dlouhy retezec "; __attribute__((space(psv))) char *konecDR = " "; i= 0; k = pole[i]; for (i=0;i<120; i++ ) { k = pole[i]; r = k; } /* jak jiste vite, Ccko nekntroluje meze poli, takze ukazatel klidne vyleze z retezce jinepole a bude bloudit pameti EEPROM */ for ( i=0; i<50; i++ ){ k = *dlouhyretezec; dlouhyretezec++; } } // zaviraci zavorka od main