Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Sterowanie syntezą LM7001 z Arduino
SP7EZG Offline
Artur
***

Liczba postów: 194
Dołączył: 06-12-2015
Post: #17
RE: Sterowanie syntezą LM7001 z Arduino
Witaj,


Na chwilę obecną funkcja sterująca syntezą wygląda tak


Kod:
void synteza(int frequency_to_dds){
  
  uint8_t Sterowanie;

switch (step_value)
{
  case 100:
  Sterowanie = 0b00000001;
  break;
  
  case 25:
  Sterowanie = 0b00000101;
  break;

   case 1:
  Sterowanie = 0b00001001;
  break;
}

pinMode(DATA, OUTPUT);
pinMode(CL, OUTPUT);
pinMode(CE, OUTPUT);
digitalWrite(CE, HIGH);
for( uint8_t idx=0; idx<14; idx++ ) //wysyłanie 14 bitów częstotliwości
{
   if ( ( frequency_to_dds >> idx ) & 0x0001 )
   {
      digitalWrite(DATA, HIGH);         // Pin DATA ustawiamy na 1
   } else
   {
      digitalWrite(DATA, LOW) ;         // Pin DATA ustawiamy na 0
   }
   zegarek(); // Generujemy impuls na linii CL
}
    digitalWrite(DATA, LOW); //wysłanie T0
    zegarek();
    digitalWrite(DATA, LOW); //wysłanie T1
    zegarek();
    
for( uint8_t idy=0; idy<8; idy++ ) //wysyłanie 8 bitów konfigu
{
   if ( ( Sterowanie >> idy ) & 0x0001 )
   {
      digitalWrite(DATA, HIGH);        
   } else
   {
      digitalWrite(DATA, LOW) ;        
   }
   zegarek();
   digitalWrite(DATA, LOW);
}
  
   digitalWrite(CE, LOW);

  
  
}

void zegarek(){
  digitalWrite(CL, LOW);
  delayMicroseconds(3);
  digitalWrite(CL, HIGH);
  delayMicroseconds(3);
  digitalWrite(CL, LOW);
  delayMicroseconds(3);
}


Została wypisana do Złomka z forum, głównie dlatego, że miałem podobną infrastrukturę, oraz chciałem złożyć próbny układ
Oczywiście się nie synchronizował.

Rzecz jasna książkę Pana Kardasia zamawiam jeszcze w tym tygodniu.

Pozdrawiam, Artur
(Ten post był ostatnio modyfikowany: 26-02-2017 12:27 przez SP7EZG.)
26-02-2017 12:26
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Wiadomości w tym wątku
RE: Sterowanie syntezą LM7001 z Arduino - SP7EZG - 26-02-2017 12:26

Skocz do:


Użytkownicy przeglądający ten wątek: 8 gości