Witam!
Mam pytanie do użytkowników systemu Nut/OS na ATmegach. W jaki sposób wygląda obsługa przerwań? Właśnie zacząłem się bawić tym systemem (a do tego sama ATmega128 jest dla mnie też nieco nowością, bo wcześniej były tylko ATmegi8). Czy wygląda to tak samo jak w przypadku ATmegi8? Czy może są jakieś gotowe funkcje? Tak nieco przybliżając temat chciałbym, aby kontroler w określony sposób reagował np. na narastające zbocze na wejściu jednego z przerwań.
Przy okazji tematu Nut/OS. Napisałem prostą aplikację która zapisuje/czyta pliki na dołączonej do mikrokontrolera pamięci flash (cału zestaw jest z Propoxu). Wyglą to mniej/więcej tak:
W tym przypadku akurat czyta to co zostało zapisane w części wykomentowanej. I to co pokazuje się na konsoli to zestaw krzaczków. Może ktoś z szanownych forumowiczów ma na to jakąś radę?
pozdrawiam
herszt
Mam pytanie do użytkowników systemu Nut/OS na ATmegach. W jaki sposób wygląda obsługa przerwań? Właśnie zacząłem się bawić tym systemem (a do tego sama ATmega128 jest dla mnie też nieco nowością, bo wcześniej były tylko ATmegi8). Czy wygląda to tak samo jak w przypadku ATmegi8? Czy może są jakieś gotowe funkcje? Tak nieco przybliżając temat chciałbym, aby kontroler w określony sposób reagował np. na narastające zbocze na wejściu jednego z przerwań.
Przy okazji tematu Nut/OS. Napisałem prostą aplikację która zapisuje/czyta pliki na dołączonej do mikrokontrolera pamięci flash (cału zestaw jest z Propoxu). Wyglą to mniej/więcej tak:
if(wykonaj)
{
u_char *ptr;
int file;
char *filename;
wykonaj = 0;
ptr="plik.txt\r\n";
filename = NutHeapAlloc(strlen(ptr) + 6);
strcpy(filename, "FLASH:");
strcat(filename, ptr);
printf_P(PSTR("Otwieram plik...!\r\n"));
NutSleep(1000);
file = _open(filename, _O_RDWR);
NutHeapFree(filename);
if (file != -1)
{
printf_P(PSTR("Otworzono plik!\r\n"));
char *buf;
buf = NutHeapAlloc(5) ;
//buf="tekst";
int size =5;
//int r = _write(file, buf, size);
int r = _read(file, buf, size);
printf_P(PSTR("odczytano bajtow: %u"), r);
printf_P(PSTR("Tekst: %s"), buf);
NutHeapFree(buf);
_close(file);
}
}
W tym przypadku akurat czyta to co zostało zapisane w części wykomentowanej. I to co pokazuje się na konsoli to zestaw krzaczków. Może ktoś z szanownych forumowiczów ma na to jakąś radę?
pozdrawiam
herszt