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) |
RE: Programowanie w języku C w środowisku AVR Studio4 - SQ9JXB - 23-01-2012 12:03 "Proszę napisać, czy po usunięciu z kodu zbędnych opóźnień, działa u was wszystko OK, " Na wyświetlaczu nie ma nic. Dopiero wprowadzenie poprawki Kolegi Bogdana SP3IQ jest wyświetlenie ABCD_ Jak uruchomić podświetlenie wyświetlacza? RE: Programowanie w języku C w środowisku AVR Studio4 - SP9LAP - 24-01-2012 16:00 Pin BL do masy. RE: Programowanie w języku C w środowisku AVR Studio4 - SQ2EER - 24-01-2012 22:19 Witam - mam prośbę do Marcia prowadzącego kurs - czy możesz podać jak powinny być poustawiane fusebity dla atmegi32 z kwarcem 16MHz - u mnie coś złe działa wszystkie programy działają ale jakby były spowolnione kilka razy - 1 sekunda trwa jak pisałem wcześniej nie 4 sekundy a 12 sekund to jest sprawdzone na pierwszym i drugim programie gdzie diody powinny teoretycznie zapalać się co 1 sekundę - dopisanie w pierwszej linii programu #define F_CPU 16000000 nic nie dało - pozdrawiam Jacek. RE: Programowanie w języku C w środowisku AVR Studio4 - SP4EJT - 25-01-2012 0:42 Proszę Jacku, zaznaczyłem odpowiedzialną za to część czerwoną elipsą: [attachment=4583] To będzie lekcja 8 : Nasz programik potrafi wyswietlać na LCD tylko pojedyńcze znaki - korzystamy w tym celu oczywiście z funkcji bajt_lcd() Przydałaby się funkcja wyświetlająca całe wyrazy ... żeby to zrobić musicie poznać Tablice ... Przykłady zapisu deklaracji tablicy: Kod: char tablica[10]; Drugie to tablica, o któej nic nie wiadomo z ilu elementów sie składa, wiadomo natomiast że składa się z wartości int (czyli 16 bitowych). Przy zapisie wyrazów(a nawet zdań) będziemy korzystać z tablic, które składają się ze znaków czyli char. Kod: char tab[]="jakis_wyraz" Wracamy do naszego ostatniego przykładu tablicy ... Jesli w kodzie swojego programu umieścicie definicje tej tablicy a po niej Kod: bajt_lcd(tab[3]); Jeśli umieścicie w kodzie Kod: bajt_lcd(tab[0]); Czyli już wiecie że liczba w nawiasie kwadratowym określa nam który znak z tablicy będzie brany pod uwagę. Co zrobic by wyświetlały się całe tablice znaków (czyli całe napisy). Wklejcie na samym końcu kodu progrramu (przed ostatnim nawiasem klamrowym) to : Kod: char tab[]="to jest napis"; 1. definiujemy tablice znaków o nazwie tab i treści to jest napis (+ znacznik końca tablicy czyli zero, którego tu nie widzimy - ale zawsze na końcu każdej tablicy jest) 2. deklarujemy, że będziemy używac zmiennej i która początkowa wartość będzie równa 0 3. pętla while będzie wykonnywać polecenia pomiędzy nawiasami klamrowymi do momentu kiedy i-ty element tablicy będzie zerem - czyli znacznikiem końca tablicy. Dokładnie zappis ten oznacza "wykonaj jesli i-ty element tab jest różny od zera. != oznacza "różny" (nierówny) 5. wyślij do lcd i-ty element tablicy (pamiętamy że przy deklaracji ustawiliśmy wartość i na 0, więc zacznie wyświetlać od pierwszego (zerowego dla Atmegi) elementu tablicy 6. zwiększ wartość i o 1. Potem pętla wraca do ponownego sprawdzenia warunku czy i-ty (następny) element tablicy nie jest już zerem czyli znacznikiem końca tablicy. Mam nadzieję że to zrozumiecie ... Spróbujcie to uruchomic u siebie a ja jutro wstawie nowa wersję obsługi wyświetlacza. Jesli wstawicie zamiast i=i+1; to: i=i+2; to wyświetli Wam oczywiście co drugi znak tablicy ... jednak może przeoczyć znacznik końca tablicy ! RE: Programowanie w języku C w środowisku AVR Studio4 - SQ2EER - 25-01-2012 0:45 Witam - dzięki Marcin - rozumiem ze pozostałe fusebity mam poustawiać tak jak na twoim obrazku? RE: Programowanie w języku C w środowisku AVR Studio4 - SP4EJT - 25-01-2012 11:18 (25-01-2012 0:45)SQ2EER napisał(a): Witam - dzięki Marcin - rozumiem ze pozostałe fusebity mam poustawiać tak jak na twoim obrazku?Chyba nie, wydaje mi sie że tylko ten zaznaczony przeze mnie jest w twoim przypadku istotny. Ludzie, nie róbcie sobie jaj ! Nie wierze w to że wszyscy "kursanci" wszystko rozumieją. PYTAJCIE, Pytajcie i pytajcie - postaram się nie pozostawić Was bez pomocy. Szkoda byłoby żeby ktoś zrezygnował z okazji "ujeżdżenia" Atmegi i C. bo czegoś nie rozumie i myśli że potem będzie jeszcze trudniej. Z każdym dniem nauki jest coraz bardziej z górki. Chyba że nadal chcecie zazdrościć innym ... :/ RE: Programowanie w języku C w środowisku AVR Studio4 - SQ6ADE - 25-01-2012 13:10 Spójrz na stronę nr. 25 dokumentacji. Tabelka 2 Bity CKSEL3-0 Może masz włączony oscylator RC ? RE: Programowanie w języku C w środowisku AVR Studio4 - SQ9JXB - 25-01-2012 19:46 (25-01-2012 13:10)SQ6ADE napisał(a): Spójrz na stronę nr. 25 dokumentacji. Tabelka 2 A nie można jaśniej dla laików? Cytat:Nie wierze w to że wszyscy "kursanci" wszystko rozumieją. Ano nie rozumieją co niektórzy, bo zapewne zapomniałeś o jednym. Piszesz o Tablicy i jej deklaracjach tak? A to może na początek wyjaśnienie co to jest Tablica, jej budowa itd. NO chyba że pozostali wszystko wiedzą, programowanie mają w jednym palcu, to wiedzą co się z czym je. To dla takich przedszkolaków jak JA nie warto tego pisać tylko ciągnąć lekcje dalej. A JA sobie w wolnej chwili będę kombinował co i jak. Pozdrawiam RE: Programowanie w języku C w środowisku AVR Studio4 - SP4EJT - 25-01-2012 21:09 Janek, nie ma problemu, spróbujemy podciągnąć twoje wiadomości na ten temat. Żeby było mi łatwiej napisze kilka pytań a ty szczerze odpowiedz których zagadnień nie znasz: 1. bramka logiczna 2. stan logiczny 3. bit 4. bajt 5. binarny zapisz liczb 6. szesnastkowy zapis liczb 7. ciąg liczb - ze szkoły (matematyka) 8. ciąg znaków 9. zmienna typu char 10. zmienna typu int 11. czy umiesz sprawdzić do którego portu Atmegi masz podłączony wyświetlacz ? 12. czy wiesz jak numeruje się poszczególne wyprowadzenia portów i ile jest portów w Atmedze 32 (bo taką chyba masz ) Tyle pytań. Najlepiej sformułuj odpowiedź 1. wiem 2. nie wiem 3. wiem .... itd ... RE: Programowanie w języku C w środowisku AVR Studio4 - SQ9JXB - 25-01-2012 21:47 Tu nie chodzi o podciągnięcie MOICH wiadomości tylko o informacje pomocnicze prawda? Bo jeżeli mam szukać informacji samemu to nie ma sensu sie uczyc w Moim przypadku Ale z materiałów wnioskuję że trzeba być informatykiem aby to przerabiać. Pytania 3; 4; 5; 6 - nie stanowią problemu. Pozostałe niestety tak. Ale mną sie nie przejmuj. |