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: #9
RE: Sterowanie syntezą LM7001 z Arduino
Kod:
for( uint8_t idx=0; idx<24; idx++ )
{
   if ( ( Fpom >> idx ) & 0x00001 )
   {
      SET_PIN_DATA ;         // Pin DATA ustawiamy na 1
   } else
   {
      CLEAR_PIN_DATA ;     // Pin DATA ustawiamy na 0
   }
   Zegarek();                    // Generujemy impuls na linii CL
}

Zakładając oczywiście, że w Fpom będzie zapisana cała wartość.
Warunkiem w if jest mnożenie logiczne. Czym jest wartość 0x0001? Jedynką reprezentującą ilość bitów?
Pętla sprawdza pozycję bitu, jeśli 1 wysyła, jeśli 0 czeka.
Przecież to jasne jak słońce!

Tylko czy uint8_t przechowa tą wartość? Synteza przyjmuje słowo 14 bitowe.

Cytat:A co robi pętla wysyłająca 14 bitów ze zmiennej Fpom ?????
Każdy procesor, cyfrowy układ logiczny, FPGA i co tam jeszcze jest w cyfrówce widzi tylko dane binarne. Po to są edytory, środowiska programistyczne, żeby kod wyglądał zjadliwie dla człowieka !!!! Ciężko jest w dzisiejszych czasach pisać za pomocą 0 i 1 przy tak złożonych mikroprocesorach i programach.

Jasna sprawa! Tylko nie wiedziałem, że to działa w tak prosty sposób! 255 = 11111111!

Nie denerwuj się proszę, wytłumaczyłeś mi już i tak mega dużo. Lubię dyskutować i podpytywać mądrzejszych Smile

Pozdrawiam, Artur
25-02-2017 15:55
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Wiadomości w tym wątku
RE: Sterowanie syntezą LM7001 z Arduino - SP7EZG - 25-02-2017 15:55

Skocz do:


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