Gast
#1680310
Hi there, ich schreib gerade ein Programm zur Ansteuerung des AD9833, was eigentlich ganz gut klappt. Meine SetFrequenz routine sieht so aus. (Hab ich hier aus em Forum) void SetFrequency(unsigned long Freq) { -> float fVal = ((float)Freq / 4000000.0); -> int32_t dwCodeWord = fVal * 268435456; -> int16_t wWord = 0x0; //send the control byte wWord = x2000; SendWord(wWord); _delay_ms(1); //send lsb wWord = (dwCodeWord & 0x00003FFF); //lsb wWord |= 0x4000; SendWord(wWord); _delay_ms(1); //send msb wWord = (dwCodeWord & 0x0FFFC000) >> 14; //msb wWord |= x4000; SendWord(wWord); } sobald ich die 3 markierten Zeilen einfüge sagt mein AVR GCC Memory usage: Program 3396 Byte (165% full) Ohne die drei Zeilen Program 858 Byte ( 48,5%) full. Die Drei Zeile benötigen doch keine 1500 Byte Speicher. Oder? Kann mir da jemand auf die Sprünghe helfen. Thanx und Gruß Bernd