DDS VFO Bandlimit festlegen

Gast #4350986
Hallo
Wie bewerkstellige ich es, daß beim DDS VFO mit Bandumschaltung ein 
Bandlimit festgelegt wird.
Hier mal ein Auszug aus dem C Programm

eeprom unsigned long band0= 1800000; // Mittenfrequenz
eeprom unsigned long band1= 3600000;
eeprom unsigned long band2= 7000000;
eeprom unsigned long band3=10100000;
eeprom unsigned long band4=14000000;
eeprom unsigned long band5=18100000;
eeprom unsigned long band6=21000000;
eeprom unsigned long band7=24900000;
eeprom unsigned long band8=28500000;

************************************************************************ 
***
eeprom unsigned long band0_lo= 1800000;     //Bandlimit
eeprom unsigned long band0_hi= 2000000;
eeprom unsigned long band1_lo= 3500000;
eeprom unsigned long band1_hi= 3800000;
eeprom unsigned long band2_lo= 7000000;
eeprom unsigned long band2_hi= 7200000;
************************************************************************ 
***


switch(l)
{
case 1:{frequency=band0,n=1,b0=1; break;}; // 1,9
case 2:{frequency=band1,n=1,b1=1; break;};
case 3:{frequency=band2,n=1,b2=1; break;};
case 4:{frequency=band3,n=1,b3=1; break;};
case 5:{frequency=band4,n=0,b4=1; break;};
case 6:{frequency=band5,n=0,b5=1; break;};
case 7:{frequency=band6,n=0,b6=1; break;};
case 8:{frequency=band7,n=0,b7=1; break;};
case 9:{frequency=band8,n=0,b8=1; break;};  // 28
}


while(defult==1)
{
band0= 1800000;
band1= 3600000;
band2= 7000000;
band3=10100000;
band4=14000000;
band5=18100000;
band6=21000000;
band7=24900000;
band8=28500000;


************************************************************************ 
***
band0_lo= 1800000;
band0_hi= 2000000;
band1_lo= 3500000;
band1_hi= 3800000;
band2_lo= 7000000;
band2_hi= 7200000;
************************************************************************ 
***

ifnorm= 10000000;
ifrev=  10000000;
ifcw=   10000000;
f_op=   125000000;




Die in* narkirten habe ich festgelegt und werden ins EEprom geschrieben
und hier meine Eingabe die nicht funktioniert.zb für 2 Bänder.


if(frequency<band0_lo && frequency>band0_hi)
{frequency=band0_lo,frequency=band0_hi;}; //  1,9
if(frequency<band1_lo && 
frequency>band1_hi){frequency=band1_lo,frequency=band1_hi;}; //  3,5

Soll etwa heissen
wenn Frequenz kleiner als Band0_lo und grösser als Band0_hi-------
dann frequenz= band0_lo (1800000) und frequenz= Band_hi (2000000)

Falls es totaler Quatsch ist bitte nicht lachen ich habe nicht viel 
Ahnung davon

Gruß Silvio

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.