Gast
#4614304
Hallo zusammen, versuche gerade einen Atmel XMEGA128A1 mit einem DDS-Chip AD9835 ans Laufen zu bekommen. Die Verbindung erfolgt über Port D und einen Pegelwandler 74HC244 für die drei Datenleitungen: #define DDSPORT PORTD #define FSYNC_bm 0b00000001 // Pin D0 #define SDATA_bm 0b00000010 // Pin D1 #define SCLK_bm 0b00000100 // Pin D2 Für die Ansteuerung verwende ich die angehangene Datei main.c. Die Funktion set_frequency(<Frequenz>,<Initmode>) soll zwei Modi realisieren: Initmode Funktion 0 nur Frequenz ändern 1 AD9835 sleepmode => reset => clear => Frequenz einstellen => wakeup Die Routine scheint vom Timing her zu passen, funktioniert aber nicht zuverlässig d.h. der DDS-Chip springt nicht immer auf die gewünschte Frequenz sondern auf völlig andere Werte. Hat jemand eine Idee, woran das liegen könnte ? Tnx & Viele Grüsse, Klaus