• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Funkcja zawierajaca tablice
#1
Poniewaz jak pisalem chce zbudowac generator na bazie Ad9850 sterowany Arduino Nano i chce aby byly generowane rozne zestawy czestotliwosci. Zbudowalem kilka programow zawierajacych rozne zestawy ale wszystkie one roznia sie wylacznie parametrami typu: nazwa zestawu, tablica czestotliwosci, ilosc czestotliwosci w tablicy i ewentualnie czas trwania emisji pojedynczej czestotliwosci. Postanowilem po zapoznaniu sie z dokumentacja zbudowac funkcje ktora bedzie uruchamiala i sterowala AD9850 oraz wyswietlacz LCD 16x2 na podstawie dostarczonych informacji o: nazwie zestawu, ilosci czestotliwosci w zestawie, oraz tablicy czestotliwosci do wygenerowania w danym zestawie.
Po wielu probach udalo mi sie wykonac program ktory przechodzi test kompilacji poprawnie ale niestety nie dziala poprawnie bowiem dziala tylko przekazanie nazwy do funkcji i ilosci czestotliwosci w zestawie natomiast tablica czestotliwosci nie jest odczytywana w zwiazku z tym generator generuje przypadkowe czestotliwosci.
Ponizej kod programu "Funkcja1":

Kod:
//include LCD library
#include <LiquidCrystal.h>
// include the DDS Library:
#include <DDS.h>
int ledpin = 13;
//Instatiate LCD
LiquidCrystal lcd(11, 10, 9, 8, 7, 6);
 // Instantiate the DDS...
  DDS dds(5, 4, 3, 2);
/*unsigned long freq[] = {60, 820, 2500, 20000, 65000, 207460, 479930, 527000, 749000, 986220,
110, 240, 620, 850, 118330, 209180, 321000, 544100, 631170, 705000,
350, 12800, 88500, 125680, 240000, 470000, 592500, 625230, 723010, 70,
570, 87500, 175160, 322060, 476500, 667000, 742000, 985670}; */
//list of a frequencies here above
//int n = 38;  //number of a frequencies in an array
char Name[10];
int n();
unsigned long freq[100];
//Tu zaczyna sie funkcja
void wykonaj(char Name[10], int n, unsigned long freq[100])
{
   for (int i=0; i<n; i++)
{
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print(Name);
  lcd.print(" ");
  lcd.print(i);
  digitalWrite(ledpin, HIGH);
  dds.setFrequency(freq[i]);
  lcd.setCursor(0, 1);
  lcd.print(freq[i]);
  lcd.print(" Hz");
  delay(180000);
  if (i == n);
  {
    digitalWrite(ledpin, LOW);
    dds.init();
    lcd.clear();
    lcd.print("Koniec");
  }
  }
}
void setup()
{
     // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
// initialize the LED output
pinMode(ledpin, OUTPUT);
    // start up the DDS...   
  dds.init();  
  // (Optional) trim if your xtal is not at 125MHz...
  // dds.trim(125000000); // enter actual osc freq
 
}

void loop() {
 wykonaj("Tinitus", 38, (60, 820, 2500, 20000, 65000, 207460, 479930, 527000, 749000, 986220,
110, 240, 620, 850, 118330, 209180, 321000, 544100, 631170, 705000,
350, 12800, 88500, 125680, 240000, 470000, 592500, 625230, 723010, 70,
570, 87500, 175160, 322060, 476500, 667000, 742000, 985670));
}

Uklad z funkcja ma umozliwic mi zbudowanie menu wyboru zestawu do uruchomienia przy pomocy switch/case
bo w kazdym case bedzie inny zestaw parametrow do uruchomienia tej samej funkcji.
Czy ktos moze mi wskazac blad ktory zrobilem?
Program w tej postaci jest weryfikowany poprawnie ale zestaw, tablica czestotliwosc podany w nawiasie nie jest przetwarzany przez funkcje.
Prosze o pomoc w rozwiazaniu problemu.
Poczatki zawsze sa trudne :-)
Arduino Mega256, Nano, Pro Mini.
 
Odpowiedź
  


Wiadomości w tym wątku
Funkcja zawierajaca tablice - przez StaCh - 26-07-2017, 08:51
RE: Funkcja zawierajaca tablice - przez StaCh - 26-07-2017, 14:07
RE: Funkcja zawierajaca tablice - przez StaCh - 28-07-2017, 13:39
RE: Funkcja zawierajaca tablice - przez StaCh - 31-07-2017, 21:58
RE: Funkcja zawierajaca tablice - przez StaCh - 09-09-2017, 08:59
RE: Funkcja zawierajaca tablice - przez StaCh - 09-09-2017, 09:33
RE: Funkcja zawierajaca tablice - przez namok - 10-09-2017, 13:07
RE: Funkcja zawierajaca tablice - przez StaCh - 11-09-2017, 14:39
RE: Funkcja zawierajaca tablice - przez StaCh - 13-09-2017, 15:16
RE: Funkcja zawierajaca tablice - przez Smaczek - 13-09-2017, 16:48
RE: Funkcja zawierajaca tablice - przez StaCh - 13-09-2017, 20:11
RE: Funkcja zawierajaca tablice - przez Smaczek - 15-09-2017, 09:05
RE: Funkcja zawierajaca tablice - przez StaCh - 15-09-2017, 09:42
RE: Funkcja zawierajaca tablice - przez Smaczek - 15-09-2017, 10:56
RE: Funkcja zawierajaca tablice - przez StaCh - 15-09-2017, 14:36
RE: Funkcja zawierajaca tablice - przez Smaczek - 15-09-2017, 16:10
RE: Funkcja zawierajaca tablice - przez StaCh - 15-09-2017, 18:41

Skocz do:


Przeglądający: 1 gości