HomeMade
Programowanie w języku C w środowisku AVR Studio4 - Wersja do druku

+- HomeMade (http://sp-hm.pl)
+-- Dział: Oprogramowanie (/forum-84.html)
+--- Dział: Technika programowania mikroprocesorów (/forum-85.html)
+--- Wątek: Programowanie w języku C w środowisku AVR Studio4 (/thread-1161.html)

Strony: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19


RE: Programowanie w języku C w środowisku AVR Studio4 - SQ9JXB - 04-02-2012 11:32

Rozumiem że u Ciebie wszystko działa OK tak?

Nie wiem jak u innych ale u mnie NIE. Połączenia takie same.

Aha , na wyświetlaczu mam 003710000_

P.S. Mam pytanie do innych kursantów, tez takie problemy występuja u Was jak u mnie były, czy tylko u mnie są to chochliki niedouczonego?


RE: Programowanie w języku C w środowisku AVR Studio4 - SP4EJT - 04-02-2012 13:09

Za każdym razeem jak coś Ci nie działa to oprócz Pytania dawaj plik z którym masz problem jako załącznik. Ja go sobie ściągnę i mam nad czym mysleć, a tak nie wiem co tam masz.


RE: Programowanie w języku C w środowisku AVR Studio4 - SQ9JXB - 04-02-2012 13:46

Marcin , kompilacja przebiegła bez problemu, tylko nie ma zmiany częstotliwości.
Połączenia takie jak u Ciebie.

W załączniku pliki


RE: Programowanie w języku C w środowisku AVR Studio4 - SP4EJT - 04-02-2012 14:20

Ten plik, który umieściłeś ostatnio, z której lekcji pochodzi ?


RE: Programowanie w języku C w środowisku AVR Studio4 - SP5IWI - 04-02-2012 15:37

(04-02-2012 11:32)SQ9JXB napisał(a):  Rozumiem że u Ciebie wszystko działa OK tak?

Nie wiem jak u innych ale u mnie NIE. Połączenia takie same.

Aha , na wyświetlaczu mam 003710000_

P.S. Mam pytanie do innych kursantów, tez takie problemy występuja u Was jak u mnie były, czy tylko u mnie są to chochliki niedouczonego?

Mnie "małpowanie" Marcina wychodzi OK ale gorzej z zrozumieniem i napisaniem samemu danej lekcji,no ale może to kiedyś załapię
Janek sp5iwi


RE: Programowanie w języku C w środowisku AVR Studio4 - SQ9JXB - 04-02-2012 16:24

Cytat:Ten plik, który umieściłeś ostatnio, z której lekcji pochodzi ?

Z lekcji 11 i zmałpowanego kodu od Ciebie(obsługa 2 przycisków PC7 i PC6) krok 1 w dół i jeden w górę.


RE: Programowanie w języku C w środowisku AVR Studio4 - SP4EJT - 04-02-2012 17:06

Nie prawda. Umieściłeś pliki z lekcji 10 wraz z poprawkami funkcji wys_freq()
Sprawdź sam.


RE: Programowanie w języku C w środowisku AVR Studio4 - SQ9JXB - 04-02-2012 17:31

Faktycznie nie zapisane.

Teraz wczytane wszystko i działa, ale działanie przycisków jest ciekawe.Musze nacisnąć i lekko przechylić w prawo aby działały bez problemu.

Dobra, więcej nie będę zgłaszał uwag.


RE: Programowanie w języku C w środowisku AVR Studio4 - SP4EJT - 04-02-2012 18:29

Możesz pytać ... krzywdy mi nie robisz ... wszyscy pytajcie i się nie czajcie z tym, bo po to jest ten kurs, nie będe go prowadził wiecznie więc nie odkładajcie pytań na potem
Mam nadzieje że te dziwne umiejscowienie nawiasów klamrowych w ostatniej lekcji nie sprawiły wam kłopou.
Kod:
if((PINC&0b01000000)==0)
         { frequency-=krok; }
powyższy kod oczywiście można zapisac tak jak poniższy i to jest to samo
Kod:
if((PINC&0b01000000)==0)
{
    frequency-=krok;
}
ale można tez tak:
Kod:
if ( ( PINC & 0b01000000 ) == 0 )
         {


frequency-=krok; }
wszystkie te zapisy dla kompilatory są jednakowe.
Trochę kiepsko że nie mogę już sam wyedytować tego posta tylko muszę moderatora prosić.
Lekcja 13 Pewnie zauważyliście, że można przekręcić licznik częstotliwości "tak jakby poniżej zera" więc konieczne są poprawki, której będą trzymać w ryzach zakres częstotliwości - pomiędzy 1MHz a 180MHz.
Przedstawiam tu fragmenty piku main.c (jest on do pobrania jako załącznik na dole) wraz z moim wolnym tłumaczeniem Smile
Kod:
#ifndef F_CPU
#define F_CPU 16000000
#endif
#jeśli F_CPU nie jest zdefiniowane nigdzie indziej to:
#zdefiniuj każde wyrażenie F_CPU jako 16000000
#koniec warunku [b]ifndef F_CPU[/] //nie wiem jak to dobrze przetłumaczyć. Powyższy kod sam sprzwdza czy już zdefiniowaliśmy częstotliwość w menu "configuration options" jesli nie to definiuje prędkość Atmegi na 16MHz.
Kod:
if((PINC&0b01000000)==0)
{
    if((frequency-krok>999999)&(frequency-krok<180000000))
    {
        frequency-=krok;
    }
}
Jeśli (na porcie C, na wyprowadzeniu PC6 jest stan niski ) to wykonaj:
{

jeśli ( ( zm. frequency - zm. krok jest większe od 999999) lub ( zm. frequency - zm. krok jest mniejsze od 180000000 ) )
{

zmniejsz zm. frequency o zm. krok;
}
} [/code]
Dodatkowo zaznaczyłem kolorami nawiasy które należą do odpowiadających im instrukcji.
Kod:
if((PINC&0b10000000)==0)
{    
    if(frequency+krok<180000000)
    {
        frequency+=krok;
    }
}
Powyższy kod oznacza:
Jeśli (na porcie C, na wyprowadzeniu PC7 jest stan niski ) to wykonaj:
{

jeśli ( ( zm. frequency + zm. krok jest mniejsze od 180000000 ) ) to wykonaj :
{

zm. frequency zwieksz o zm. krok;
}
}
Na razie to będzie koniec z problemem wyświetlania kroku i częstotliwości - nie jest to może najpiękniejsze i najczytelniejsze ale działające i wystarczające (potem będziemy upiększać i porządkować to co się ma wyświelać i jak).
Na następnej lekcji przejdę do zagadnienia jakim jest komunikacja z układem AD9951 - syntezerem DDS.


RE: Programowanie w języku C w środowisku AVR Studio4 - SP9LAP - 10-02-2012 23:55

Ad. lekcja3

Witam!

Trochę jestem spóźniony.Angry

Nie bardzo rozumiem jak działa wyrażenie wewnątrz pętli, dalaczego dioda "mruga"??

No i jak się wkleja takie ramki z kodem jak powyżej??