Witam, piszę na mikroblogu po raz pierwszy :).
W nawiązaniu do [AMA] Wychowywał mnie ojciec chory na schizofrenię paranoidalną https://www.wykop.pl/link/3933477/ama-wychowywal-mnie-ojciec-chory-na-schizofrenie-paranoidalna/ chciałabym zwrócić się do osób, które mają chorego rodzica na schizofrenię, o wzięcie udziału w badaniu do mojej pracy dyplomowej pt. “Wybrane aspekty funkcjonowanie psychologicznego Dorosłych Dzieci osób chorujących na Schizofrenię”.

W badaniu tym mierzę poziom odporności psychicznej, samotność oraz retrospektywną ocenę postaw rodzicielskich w tym też chorego rodzica.

Pisałam już w
Ma ktoś pomysł dlaczego mi się to wykrzacza? Wywołuję sobię funkcję w pętli for z wartościami od 10 do 2000Hz, i gdzies przy końcu tego zakresu zmienna wysyłana do AD9850 zostaje jakby zmniejszona. Obserwując u mnie wygląda to tak, że na głośniku słyszę coraz wyższe tony, i nagle się zmniejszają i od nowa rosną.(debug za pomocą głośnika, tego jeszcze ine grali :))

http://pastebin.com/K2bhKnxv

#avr #programowanie #dds
@gromwell: przepełnienie nastąpiłoby wtedy, gdybym podał częstotliwość większą jak 125Mhz jako argument, co odpada z założeń projektowych.(przepraszam, że teraz odpisuję, ale umknął mi ten post :( )

@zenkowik: problemem okazała się operacja przesunięcia. Jedynka którą przesuwam musi być jawnie zrzutowana do uint32t, inaczej po przekroczeniu dwóch bajtów zawszę będzie miała wartość zero. Tak działa już poprawnie:

if(freq&(1UL<<i)) AD
DAT_HI;

Dziękuję wszystkim za zainteresowanie i pomoc.
  • Odpowiedz