HomeMade

Pełna wersja: Arduino
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Wszystko jasne. Aby zakończyć już te dywagacje powiem tylko że była to raczej gra słów. Jestem starym analogowcem, zmuszonym onegdaj zawodowo do opanowania techniki cyfrowej, co dzisiaj ułatwia mi też zrozumienie procesora. Jednak choć dużo czytam, to głównie uczę się na gotowych już przykładach, przerabiam, dorabiam, coś dopisuję, no i się cieszę jak dziecko że zaczyna to działać. Z wielką satysfakcją czekam, pewnie nie tylko ja, że też nam pomożesz coś zrozumieć, wskażesz prostszą drogę e.t.c. Samo Arduino to dobra droga dla takich jak ja, no i dobrze że je wymyślono. Jednak jak można zauważyć to podobnych rozwiązań drobnicy procesorowej jest już kilka, np.Pinquino na PICe, Rabsbery....(nie wiem czy dobrze napisałem), plus jeszcze drobnych producentów uniwersalne płyty uruchomieniowe, w tym Sanguino na ATMegę 644. No i dobrze, jest się na czym uczyć.
Zapału Życzę Zapaleńcom!
Czekamy na każdą cenną pomoc znawców tematu mikroprocesorowego, a Ciebie w szczególności trzymam za słowo.
Rysio!
Ok, nie ma sprawy Smile (PS: Ja też się uczę - jakbym wiedział, to bym nie pytał, hi)
int32_t freq = frequency * 4294967295/31250000;

Taki zapis powoduje ,że na wyświetlaczu mam 3.712500MHz a na wyjściu modułu AD9850 14.850MHz.Tak ma działać synteza do homodyny i tak jest.
Nurtuje mnie co to za liczba 4294967295 i czy * znaczy razy a / dzielone.
Liczba 31250000 to 1/4 z 125000000Hz.
Witam

tak * to jest razy
/ to jest dzielnie

ta dziwna liczba to jest 2 do potęgi 32

2 do 32 = 4294967295

w opisie układu AD9850 na stronie 8 jest wzór z którego to wszystko wychodzi

to int32_t freq = frequency * 4294967295/31250000; to jest ten wzór przekształcony tak ze otrzymujesz słowo - częstotliwość jaka wysyłasz do dds a to jest cztery razy mniejsze bo nie wiem czy ktoś kto napisał ten program nie uzywał tej częstotliwości do taktowania dds lub właśnie w celu zmiany tego co na lcd względem częstotliwości na wyjściu stad tez ta różnica cztery razy. Jak wstawisz zamiast 31250000 , 125000000 to będzie 1:1, lcd = wyjście lub tez używał AD9851 i to 31250000 razy sześć mnożone było.

opis w załączniku

pozdrawiam

Andrzej
Witam Andrzeju. Dzięki za wyjaśnienie tej tajemniczej liczby2 do potęgi 32.
To ja adoptowałem syntezę wg sp6ifn do mojej homodyny.
Ta zamiana 125000000Hz na 31250000Hz to moja sprawka.
To jest jedna z metod otrzymania sygnału 4* f wyświetlane.
Druga metoda to powielić 4* sygnał z ad9850 za pomocą ICS502 i ta jest ostatnio preferowana.
W tej chwili testuję pierwszą metodę.Pozdrawiam
Mam jeszcze takie pytanie.Czy w module arduino uno z kwarcem 16MHz można zamiast atmega328 zaprogramować atmega168p.
Andrzeju!
Na tak postawione pytanie odpowiedź brzmi - NIE!
No bo jak to rozumieć ? ....wyjmiesz procesor i wstawisz drugi , inny?
Pisałem już jak to zrobić wcześniej. Przeczytaj posty #10, 38, 43. Można natomiast przy wykorzystaniu Arduino Uno zaprogramować każdą inną ATmegę, ale trzeba się do tego odpowiednio przygotować, wskazane posty powinny Ci wyjaśnić problem o który pytasz.
Rysio!
Witam.Ryszard, tak myślałem ale to już przemęczenie nadmiarem informacji.
W dyspozycji mam programator USBasp + podstawka + taśma IDC AVR + program.
Programowałem atmega168P do syntezy 4Z5KY. Jak skompilować plik AD9850_LCD_VFO_80ssb_cw.ino na plik .hex
Czy programem arduino można uzyskać plik .hex
Jak " nie" to wrócę do poprzedniego postu.
Jaki tam kwarc potrzeba bo na płytce jest a na schemacie nie.
Odpowiadam na pytania od końca.
Cytat:Jaki tam kwarc potrzeba bo na płytce jest a na schemacie nie.
Wszystkie typu Arduino pracują na kwarcu 16MHz.
Cytat:Czy programem arduino można uzyskać plik .hex
Tak, można, lecz nie podam tego publicznie do wiadomości, choć można do tego dojść samemu. A to z obawy aby jakiś nieostrożny młodzian (i nie tylko) nie narobił sobie szkody w komputerze, a winą za to obarczył mnie. Plik .hex tworzony jest w "czeluściach" systemu komputerowego i możliwe jest jego z tamtąd wydobycie. Ale trzeba to robić z rozmysłem. Aby się jednak w to nie bawić dla ułatwienia sobie życia zbudowałem swoje PROGDUINO.
Pozostałe informacje napiszę Ci na PRIV.
Rysio!
Plik *.hex już mam.Pytam o ten kwarc bo w programie do programowania, fusebity jest zaznaczony kwarc 8MHz.Ale to już chyba inna bajka.
Muszę zrobić płytkę tej syntezy bo dopiero wtedy będę mógł sprawdzić czy prawidłowo działa atmega168.Wygląda,że programowanie poszło prawidłowo .
Dziękuję za pomoc.Dodam może,że synteza pracuje poprawnie (z modułem arduino uno).Mój husarek Qrp działa również poprawnie.Pozdrawiam
No to dobrze, cieszy mnie że nie było problemów z "wyciągnięciem" pliku .hex na światło dzienne. W Arduino kwarc i fusebity są opisane w pliku konfiguracyjnym dla konkretnej płyty, również dla różnych wartości kwarców, co jest dużym ułatwieniem przy wykorzystywaniu Arduino jako programatora. W Twoim przypadku nie wiem jak będzie, bo programujesz to inaczej i chyba trzeba będzie fusebity przestawić. Ale tym się nie zajmuję. Ja swoją wersję programu uruchomiłem na ATmedze 168 i 328, dlaczego ma nie działać? Programowanie było jak pisałem z poziomu Arduino jako programatora. Odpowiednie wersje dla różnych ATmeg mam opisane w pliku .txt w odpowiednim katalogu programu Arduino IDE, więc fusebitami się już nie interesuję.
Gratuluję postępów w dążeniu do celu.
Rysio!
Stron: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Przekierowanie