Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[PIC][C] Pierwszy PWM w pierwszym PIC-u

dondu 24 Lut 2011 01:08 2380 8
  • #1 24 Lut 2011 01:08
    dondu
    Moderator Mikrokontrolery Projektowanie

    Przeniosłem z innego tematu gdzie rozwinęła się dyskusja:

    Kod: c
    Zaloguj się, aby zobaczyć kod




    Dodano po 3 [minuty]:

    [PIC][C] Pierwszy PWM w pierwszym PIC-u

    Dodano po 1 [minuty]:

    Padło pytanie: Czemu taki krzywy?
    Jeszcze nie wiem.

    0 8
  • Pomocny post
    #2 24 Lut 2011 01:09
    nsvinc
    Poziom 35  

    Pierwsze pytanie: co jest dalej? Czy tylko pierwszy cykl ma taki rozjazd okresu jak na załączonym obrazku, a dalej jest prawidłowo? Czy pattern się powtarza?

    Nie wstrzymujesz gdzies w dziwnym miejscu timera?...

    1
  • #3 24 Lut 2011 01:10
    H0miczek
    Poziom 20  

    kod wygląda jakby byl ok.
    impuls trwa tyle samo, period jest max.. a mimo to w tym miejscu jest wiekszy. to wyglada jakbys gdzies wstrzymywal timer.

    0
  • #4 24 Lut 2011 01:13
    dondu
    Moderator Mikrokontrolery Projektowanie

    Dobrze zadane pytanie. Potem już jest równo.
    Ciekawi mnie z czego to może wynikać?

    Dodano po 2 [minuty]:

    Ale jest taki pik:
    [PIC][C] Pierwszy PWM w pierwszym PIC-u

    Timera nigdzie nie ruszam - hmmm muszę przeglądnąć cały kod.

    0
  • #5 24 Lut 2011 01:22
    nsvinc
    Poziom 35  

    Zakładam, że ten pik występuje tylko raz, więc konkluzja jest taka, że dokładnie wtedy gdy timer sie przepełnia (i wyjscie ustawia się w stan wysoki), jakimś cudem modyfikujesz rejestr porównawczy. Zauważ, że stan niski trwa zawsze tyle samo....

    Czy ten pik jest w 100% powtarzalny w tych samych warunkach?
    To wygląda tak jakbyś zmieniał TMRx bezpośrednio po przepełnieniu timera...

    0
  • #6 24 Lut 2011 01:25
    dondu
    Moderator Mikrokontrolery Projektowanie

    Pierwsza myśl właśnie była taka sama - sprawdzam.

    0
  • Pomocny post
    #7 24 Lut 2011 01:28
    H0miczek
    Poziom 20  

    bedzie tak wygladalo jesli np zaraz po rozpoczeciu cyklu, do licznika timera wpiszesz wypelnienie (wartosc 100). bez reszty kodu mozna strzelac i obstawiam ze to cos w tym stylu

    PS ide sobie bo nsvinc i tak do wszystkiego co powiem na glos dorzuca swoje doswiadczenie i pisze pierwszy..

    0
  • #8 24 Lut 2011 01:31
    dondu
    Moderator Mikrokontrolery Projektowanie

    Sęk w tym, że nigdzie nie używam Timera2 i nie robię z nim kompletnie nic.
    Patrząc dalej na analizatorze, na wykresie znalazłem także impuls (jedynkę) o szerokości połowy pozostałych jedynek.

    Zanim przeglądnę kod trochę czasu minie. Napiszę gdy coś ustalę lub nie ustalę powodu.

    Dzięki za pomoc :)

    0
  • #9 24 Lut 2011 11:54
    LordBlick
    VIP Zasłużony dla elektroda

    Może po prostu się układ resetuje, albo zegar systemowy przywiesza ?

    0