logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Prosty układ z diodą -pytanie odnośnie rozdzielenia portów D.

dominik59 22 Paź 2011 23:50 1948 9
REKLAMA
  • #1 10055527
    dominik59
    Poziom 10  
    Witam. Jestem początkujący jeżeli chodzi o temat mikro-kontrolerów więc miejcie wyrozumiałość :) Zrobiłem dziś mój pierwszy program sterujący zapalaniem i gaśnięciem diod.
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Wszystko super świetnie ... tylko że dioda mruga gdy podłączam ją do PORTUD 2,3,4,5 czyli od 6 do 9 nóżki mikroprocesorka a chciałbym żeby przypuśćmy na porcie D 2 mrugała inaczej na 3 inaczej itd.
    Czy da się to jakoś ustawić czy po prostu te porty są jakoś ze sobą sprzężone?
    Pozdrawiam i przepraszam jeżeli popełniłem jakiś błąd który "aż razi po oczach" :)
  • REKLAMA
  • Pomocny post
    #2 10055555
    snnaap
    Poziom 25  
    dominik59 napisał:
    Witam. Jestem początkujący jeżeli chodzi o temat mikro-kontrolerów więc miejcie wyrozumiałość :) Zrobiłem dziś mój pierwszy program sterujący zapalaniem i gaśnięciem diod.
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Wszystko super świetnie ... tylko że dioda mruga gdy podłączam ją do PORTUD 2,3,4,5 czyli od 6 do 9 nóżki mikroprocesorka a chciałbym żeby przypuśćmy na porcie D 2 mrugała inaczej na 3 inaczej itd.
    Czy da się to jakoś ustawić czy po prostu te porty są jakoś ze sobą sprzężone?
    Pozdrawiam i przepraszam jeżeli popełniłem jakiś błąd który "aż razi po oczach" :)



    Co to znaczy "mrugała inaczej"? - mrugała z inną częstotliwością?, mrugała z innym wypełnieniem?, mrugała z tą samą częstotliwością ale z opóźnieniem względem 1?
  • #3 10055560
    dondu
    Moderator na urlopie...
    Witaj,

    Wysyłasz na piny portu D wartość 7C czyli binarnie 01111100
    Innymi słowy ustawiasz 1 na pinach portu D od 2 do 6 (czyli PD2-PD6).

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    a później wszystkie zerujesz.
    Dlatego wszystkie piny od 2 do 6 mrugają tak samo.

    Pozostałe dwa piny (PD0 i PD7), ustawiłeś jako wejścia.

    To jest zbędne:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Zobacz może ten kurs Ci pomoże: http://mikrokontrolery.blogspot.com/2011/03/drzaskowy-pamietnik-wstep.html
  • REKLAMA
  • #4 10055639
    piotrva
    VIP Zasłużony dla elektroda
    Polecam też książkę http://atnel.pl/wydawnictwo na dobry początek.
  • REKLAMA
  • #6 10055851
    piotrva
    VIP Zasłużony dla elektroda
    Powiem tylko że dla POCZĄTKUJĄCEGO lepsza jest książka Mirka - tę Tomka Francuza kup później jako świetne uzupełnienie treści tej pierwszej.
  • Pomocny post
    #7 10057241
    blue_17
    Poziom 32  
    Polecam Książkę Pana Mirka

    http://atnel.pl/wydawnictwo

    Właśnie wczoraj skończyłem czytać o języku C po 2 razie kiedy to przeczytałem już wiele rzeczy mi się rozjaśniło.

    Polecam poczytać dowiesz się ze można to robić w bardziej jasny sposób stosując operatory logiczne oraz przesunięcia bitowe.

    Pozdrawiam ;) w szczególności Pana Mirka :D
  • #8 10071180
    Sławek-K
    Poziom 15  
    Tak najprościej to możesz sobie powielić te dwie linijki w programie z kilka razy wpisując za każdym razem inne _delay i inną wartość na PORT.
    Możesz też użyć instrukcji PORTD=~PORTD; oznacza ona negację portu D. Każdy pin może być sterowany indywidualnie tzn może być wejściem lub wyjściem może być "0" lub "1".
  • REKLAMA
  • #10 10910588
    dominik59
    Poziom 10  
    Trochę się spóźniłem z podziękowaniami ale widzę że tego tematu nie zamknąłem a są mi potrzebne punkty:)Także dzięki za pomoc i zamykam :)
REKLAMA