Witajcie,
mam problem (a to nowość, prawda?... pewnie już macie mnie tutaj dość). Niemniej jednak do rzeczy. Chcę stworzyć analizator widma dla sygnału audio. 8 kolumn, każda po 10 diod (10 diod sygnalizuje moc prążka). Działam na STM32F0DISCOVERY z mikrokontrolerem STM32F051R8T6.
Program napisałem, niby wszystko fajnie bo build przechodzi bez zająknięcia ale... podczas próby wgrania nagle wszystko się sypie i otrzymuję taki komunikat:
Nie mam bladego pojęcia, czemu tak się dziej. Pierwszy raz spotkałem ten problem. Wszystkie inne programy się wgrywały jak dotąd. Używam System Workbench for STM32. Pewnie coś z programem (kodem) zrobiłem nie tak, lecz nie mam pojęcia nawet czego szukać... Będę wdzięczny za poratowanie.
Kody:
main.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
biblioteka_fourier.h
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
biblioteka_fourier.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Jest tam jeszcze lekki bałagan, lecz chcę dodać tam np. sterowanie kolumnami poprzez krążącą jedynkę lub zero (jeszcze nie zdecydowałem). Tak samo parę poprawek dodam. Ogółem tablice dla sinusa i cosinusa są wyliczonymi po kolei kątami i wartością tych funkcji pomnożoną o 10000. Miałem już takie tablice gotowe z AVR więc... wykorzystałem.
Stopień wyliczam na podstawie wzoru (2*pi*n*m)/N, czyli klasyczne DFT (o ile dobrze zaimplementowałem to...).
Pozdrawiam wszystkich