26-02-2012, 1:13
Marcin, nie jestem ekspertem od GCC-AVR ale zastanawia mnie jakim cudem podczas mnożenia dwóch liczb 4 bajtowych (long int) chcesz zmieścić wynik na 4 bajtach.
Kompilator języka C w wielu przypadkach uważa że programista wie co robi dlatego pozwala na większą swobodę niż w innych językach. Tak jak pisałem wcześniej składnia tego języka jest dosyć trudna i wymaga dużej dyscypliny.
Zastanawiam się czemu do komunikacji z układem DDS-a nie wykorzystujesz sprzętowego interfejsu SPI który jest na pokładzie ATmega32 ?
Kod:
unsigned long int FTW, fs; // deklaracja zmiennej FTW i zmiennej fs
fs=400000000; // fs to częstotliwość taktowania DDSa
...
...
FTW=4294967296*frequency/fs;Kompilator języka C w wielu przypadkach uważa że programista wie co robi dlatego pozwala na większą swobodę niż w innych językach. Tak jak pisałem wcześniej składnia tego języka jest dosyć trudna i wymaga dużej dyscypliny.
Zastanawiam się czemu do komunikacji z układem DDS-a nie wykorzystujesz sprzętowego interfejsu SPI który jest na pokładzie ATmega32 ?
73 Adam

