Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 kwi 2024, o 10:17


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 24 ] 
Autor Wiadomość
PostNapisane: 2 sty 2014, o 16:53 
Offline
Nowy

Dołączył(a): 25 lis 2012
Posty: 11
Pomógł: 0

Witam,

Od jakiegoś czasu męczę się nad projektem Charge Solar Controller i mam problem w mojej atmedze328 na pinie PD2(INT0). Otóż na mojej płytce wykorzystałem go do sterowania zwykłą diodą led. Jednak gdy zacząłem używać przerwań to na pinie jest cały czas wymuszany stan niski i nie potrafię sterować tym pinem cyfrowo. Gdy za komentuję odblokowanie przerwań to nie ma problemu. Przerwań używam do UARTu. Proszę o wszelkie wskazówki i porady jak mam rozwiązać problem. Poniżej kawałek kodu w którym konfiguruję porty.

Kod:
void setup(void)
{
   //inicjalizowanie ADC
   init_adc(VREF_VCC);
   //DDRA |= (1<<PA4); // ustawienie portu D pinu 4 jako wyjście (ENABLE) -> Steruje IR2104
   DDRB |= (1<<PB2); // ustawienie portu B pinu 2 jako wyjście (ENABLE) -> Steruje IR2104
   //ustawienie pinu PB0 dla buzzera jako wyjście
   DDRB |= BUZZER;
   //ustawienie pinu PB3 dla sterowania trazystrem M3 do odłączenie obciążenia
   DDRB |= OVER_LOAD;
   //Inicjaca TIMERA1 -> ustawianie preskalera oraz wartosci ICR1 (wartość top)
   initialize(20);
   //ustawienie pwm wystartowanie (PWM_PIN -> pin = 5)
   pwm(PWM_PIN, 0, -1);
   //TURN_ON_MOSFETS;
   turn_off_mosfets();
   //ustawienie wypełnienia pwm na wartość 90%
   pwm_var = PWM_START;
   charger_state = on;

   EIMSK &= ~(1<<INT0);
   sei();
   //ustawianie pinów portu D dla diod jako wyjście
   DDRD |= LED_PIN_ON | /*LED_PIN_OFF |*/ LED_PIN_BULK | LED_PIN_BAT_FLOAT | LED_PIN_DEEP_DISCHARGE;
   DDRD |= (1<<PD2);
   PORTD |= (1<<PD2);//ustawienie wyjścia w stan wysoki. Dioda nadal świeci. :/
   DDRB |= LED_PIN_OFF;

      //zaświecenie Diody dla on
   //ON_TOG;
   OFF_TOG;
   BAT_FLOAT_TOG;
   BULK_TOG;
   DEEP_DISCHARGE_TOG;
}

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 17:22 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27227
Lokalizacja: Szczecin
Pomógł: 1041

A podciągnąłeś pin PD2 do VCC albo zewnętrznym rezystorem albo programowo ? ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 17:41 
Offline
Nowy

Dołączył(a): 25 lis 2012
Posty: 11
Pomógł: 0

mirekk36 napisał(a):
A podciągnąłeś pin PD2 do VCC albo zewnętrznym rezystorem albo programowo ? ;)


Stosowałem się do suplementu:
Obrazek

Więc wydaje mi się, że tak. Aktualnie cały program mam wgrany na zestaw uruchomieniowy ATB 1.03. Więc led jest podpięta przez rezystor do VCC. Czy jest możliwość wyłączenia przerwania tylko dla INT0?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 17:52 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27227
Lokalizacja: Szczecin
Pomógł: 1041

Może inaczej, bo sorki ale jakoś nadal nie rozumiem za bardzo twojej idei ....

w zestawie nie ma zewnętrznego podciągania do VCC

dioda tak jak pokazałeś nie jest podciąganiem :( w ogóle nie rozumiem po co ona jest u ciebie podłączona na tym pinie skoro on ma być WEJŚCIEM ? więc coś nie tak jednak do suplementu się zastosowałeś

albo traktujesz pin jako WYjście i wtedy możesz z niego sterować diodę LED

albo jako WEjście ale wtedy wywal tą diodę ?

No chyba że zamierzasz w trakcie jakoś się na chwilę przełączać jeśli chodzi o kierunek pinu i coś tam robić nietypowego ....

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 18:14 
Offline
Nowy

Dołączył(a): 25 lis 2012
Posty: 11
Pomógł: 0

Faktycznie, nie zrozumiałem pytania.

Kawałek schematu. (Proszę się nie kierować tym, że na schemacie jest Atmega168).
Obrazek

Pin 4 wedle dokumentacji jest to pin PD2.
Obrazek

Gdy nie odblokowuje przerwań diodą mogę normalnie mrugać zmieniając stan na wyjściu pinu pd2. Znów gdy wywołam sei() pin na tym porcie wymusza mi cały czas stan niski. Chociaż programowo daje na wyjście stan wysoki. Teraz pytanie z tym podciąganiem.. czy coś zrobiłem źle? Bo nie do końca jest to dla mnie nie zrozumiałe. Dzięki za wszelkie odpowiedzi.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 18:17 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27227
Lokalizacja: Szczecin
Pomógł: 1041

to może jeszcze inaczej

czy ty rozumiesz co to znaczy że pin jest WEJŚCIEM albo WYJŚCIEM ?

wiesz do czego i kiedy się to ustawia ?

------------------------ [ Dodano po: 1 minucie ]

myślę że najpierw to musisz sobie uświadomić bo inaczej będzie ciężko ... a więc czekam ew na twoją wersję odpowiedzi na te moje pytania

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 18:32 
Offline
Nowy

Dołączył(a): 25 lis 2012
Posty: 11
Pomógł: 0

kpasdzior napisał(a):
Kod:
void setup(void)
{
   //inicjalizowanie ADC
   init_adc(VREF_VCC);
   //DDRA |= (1<<PA4); // ustawienie portu D pinu 4 jako wyjście (ENABLE) -> Steruje IR2104
   DDRB |= (1<<PB2); // ustawienie portu B pinu 2 jako wyjście (ENABLE) -> Steruje IR2104
   //ustawienie pinu PB0 dla buzzera jako wyjście
   DDRB |= BUZZER;
   //ustawienie pinu PB3 dla sterowania trazystrem M3 do odłączenie obciążenia
   DDRB |= OVER_LOAD;
   //Inicjaca TIMERA1 -> ustawianie preskalera oraz wartosci ICR1 (wartość top)
   initialize(20);
   //ustawienie pwm wystartowanie (PWM_PIN -> pin = 5)
   pwm(PWM_PIN, 0, -1);
   //TURN_ON_MOSFETS;
   turn_off_mosfets();
   //ustawienie wypełnienia pwm na wartość 90%
   pwm_var = PWM_START;
   charger_state = on;

   EIMSK &= ~(1<<INT0);
   sei();
   //ustawianie pinów portu D dla diod jako wyjście
   DDRD |= LED_PIN_ON | /*LED_PIN_OFF |*/ LED_PIN_BULK | LED_PIN_BAT_FLOAT | LED_PIN_DEEP_DISCHARGE;
   DDRD |= (1<<PD2);
   PORTD |= (1<<PD2);//ustawienie wyjścia w stan wysoki. Dioda nadal świeci. :/
   DDRB |= LED_PIN_OFF;

      //zaświecenie Diody dla on
   //ON_TOG;
   OFF_TOG;
   BAT_FLOAT_TOG;
   BULK_TOG;
   DEEP_DISCHARGE_TOG;
}


Otóż odpowiadam, ustawiam pin2 jako wyjście na wyjściu podaje 1 logiczną. Dioda powinna się zgasić.
W przypadku gdy nie odblokowuję przerwań sterowuję diodą. Robię to bez problemu (tutaj gaszę, zaświecam) ale przy wywołaniu sei(), nie potrafię. Cały czas jest wymuszany stan niski. Dioda cały czas świeci. Daję PORTD |= (1<<PD2); brak rezultatu.
Cytuj:
Kod:
DDRD |= (1<<PD2);
   PORTD |= (1<<PD2);//ustawienie wyjścia w stan wysoki. Dioda nadal świeci. :/

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 18:38 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27227
Lokalizacja: Szczecin
Pomógł: 1041

To powiedz mi po jakiego GRZYBKA piszesz to???

EIMSK &= ~(1<<INT0);

skoro używasz pinu jako WYJŚCIA ??? :(

toż to tak jakbyś siedział na gałęzi i sam ją odpiłowywał od strony drzewa a potem dziwił się że spadasz :(

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 18:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

@kpasdzior mógłbyś wstawić kod z makrami diod

tylko prośba umieść swój kod w znacznikach syntax=c
ponieważ dla początkującego (znaczy mnie) dość ciężko się to czyta. :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 18:53 
Offline
Nowy

Dołączył(a): 25 lis 2012
Posty: 11
Pomógł: 0

mirekk36 napisał(a):
To powiedz mi po jakiego GRZYBKA piszesz to???

EIMSK &= ~(1<<INT0);

skoro używasz pinu jako WYJŚCIA ??? :(

toż to tak jakbyś siedział na gałęzi i sam ją odpiłowywał od strony drzewa a potem dziwił się że spadasz :(


Problemem nie jest EIMSK &= ~(1<<INT0); użyłem go ponieważ szukałem rozwiązania ewentualnego wyłączenia przerwania INT0. Po wyrzuceniu tej lini kodu jest tak samo. Tzn bez EIMSK &= ~(1<<INT0); przy sei() na pinie PD2 wymuszany jest cały czas stan niski, choć programowo go ustawiam na wysoki. Jakieś pomysły?

------------------------ [ Dodano po: 6 minutach ]

Zaba napisał(a):
@kpasdzior mógłbyś wstawić kod z makrami diod

tylko prośba umieść swój kod w znacznikach syntax=c
ponieważ dla początkującego (znaczy mnie) dość ciężko się to czyta. :)


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 19:24 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27227
Lokalizacja: Szczecin
Pomógł: 1041

powiem krótko ....

weź odłóż cały ten swój hmm no co tu dużo nie ukrywać dziwny kod z tymi makrami ...

odłóż go na bok

weź napisz prosty KOD - na miganie diodą na tym pinie co sekundę - pokaż go przy okazji jak go napisałeś i to bez żadnych swoich makr a przy okazji napisz czy ci działa ?

tak trzeba podchodzić do rozwiązywania problemu

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 20:16 
Offline
Nowy

Dołączył(a): 25 lis 2012
Posty: 11
Pomógł: 0

mirekk36 napisał(a):
powiem krótko ....

weź odłóż cały ten swój hmm no co tu dużo nie ukrywać dziwny kod z tymi makrami ...

odłóż go na bok

weź napisz prosty KOD - na miganie diodą na tym pinie co sekundę - pokaż go przy okazji jak go napisałeś i to bez żadnych swoich makr a przy okazji napisz czy ci działa ?

tak trzeba podchodzić do rozwiązywania problemu


Dzięki bardzo za pomoc. Jednak nie widzę problemu w moich makrach. Kod wydaje mi się dość prosty. Zachowanie się diody jest poprawne tylko jeżeli w powyższym kodzie zakomentuję sei(). Jeżeli znajdę chwilę czasu to mogę napisać taki kod. Aktualnie ścigam się z czasem i rozwiąże ten problem poprzez przekrosowanie tej diody na inny pin. Dodatkowo wychodzi na to że będę musiał pogłębić moją wiedzę na temat przerwań. Jeszcze raz dziękuję za poświęcony mi czas. :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 21:06 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

.

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Ostatnio edytowano 6 lis 2015, o 14:13 przez xor, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 21:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Nie obraź się ale takie makro na pewno nie jest czytelne dla tego
kto to analizuje
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


a trochę tego masz w kodzie.
Naprawdę nie piszę tego żeby się wymądrzać ale wiem po sobie
jak narobię dziwnych poprawek u siebie i nie pilnuję się z posprzątaniem
kodu od razu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 23:13 
Offline
Nowy

Dołączył(a): 25 lis 2012
Posty: 11
Pomógł: 0

xor napisał(a):
Czy oprócz tej diody program działa tak jak powinien?


Program działa, inne diody też. Dla tego pinu dioda też działa, ale jak już wspomniałem bez przerwań. Jak włączane są przerwania nie potrafię sterować tą diodą programowo na tym jednym pinie.

------------------------ [ Dodano po: 7 minutach ]

Zaba napisał(a):
Nie obraź się ale takie makro na pewno nie jest czytelne dla tego
kto to analizuje
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


a trochę tego masz w kodzie.
Naprawdę nie piszę tego żeby się wymądrzać ale wiem po sobie
jak narobię dziwnych poprawek u siebie i nie pilnuję się z posprzątaniem
kodu od razu


Owszem nie jest to piękność, ale znów nie przesadzajmy, że nie wiesz co jest zakomentowane i czego te makro dotyczy. Myślę, że w fazie testu każdy kod tak wygląda. Mylę się?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2014, o 00:34 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27227
Lokalizacja: Szczecin
Pomógł: 1041

kpasdzior napisał(a):
Mylę się?


mylisz się - bo tu jak się zadaje pytanie to warto troszeczkę się chociaż postarać - inaczej wychodzi że robisz kalambury i zagadki zamiast szybko rozwiązać problem ... dlatego wciąż w książce powtarzam o prawidłowym stylu programowania i raczej każdy na forum stara się przynajmniej do tego dostosować gdy się zadaje pytanie - i jeśli się chce w miarę szybko uzyskać pomoc. W przeciwnym razie niewielu osobo chce się nawet analizować taki kod - wybacz i nie dziw się po prostu .... :(

kpasdzior napisał(a):
Dzięki bardzo za pomoc. Jednak nie widzę problemu w moich makrach. Kod wydaje mi się dość prosty. Zachowanie się diody jest poprawne tylko jeżeli w powyższym kodzie zakomentuję sei().


Problem u ciebie jest gdzie indziej - nie w tym już nawet jak ty te makra napisałeś - pomijając już nawet czy dobrze czy źle

to ty nie chcesz się nauczyć szybciej programować .... ja ZAWSZE powtarzam i uwierz mi sam to robię

jak mam jakąś kobyłę programową a coś mi nie działa - to nie siedzę 12 tygodni i nie patrzę się jak sroka w kość w tą kobyłę - tylko "wyizolowuję" problem - mały fragment do oddzielnego projektu co w Eclipse jest roboty na 15 sekund i go sprawdzam - bo jest łatwiej i szybciej można samemu dostrzec babola ...

ale jak wolisz inaczej ? ... no to już twoja wola ;) ja doradzam tylko na bazie własnych doświadczeń i wiem że to mi nie wydłuża a skraca czas znalezienia baboli ...

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2014, o 00:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 lis 2013
Posty: 120
Lokalizacja: Koło
Pomógł: 6

Hehe P. Mirek często używa słówka "babol", a ja właśnie miałem taką ksywkę w szkole od nazwiska:D przepraszam za offtop, ale za każdym razem kiedy czytam wypowiedzi P Mirosława ze słówkiem babol to mi się uśmiech na twarzy pojawia :D

_________________
Kompleksowa realizacja ogrodów



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2014, o 01:02 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27227
Lokalizacja: Szczecin
Pomógł: 1041

pbmaster --> przepraszam - mam nadzieję, że nie czujesz się urażony ? jak coś to postaram się zmienić określenie np na "koci zonk" ? ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2014, o 01:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 lis 2013
Posty: 120
Lokalizacja: Koło
Pomógł: 6

Jest jak najbardziej ok ;) nie trzeba nic zmieniać ;p babole są fajne...

Wysłane z mojego LG-P700 przy użyciu Tapatalka

_________________
Kompleksowa realizacja ogrodów



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2014, o 01:51 
Offline
Nowy

Dołączył(a): 25 lis 2012
Posty: 11
Pomógł: 0

Powiedzmy, że na szybko program migający diodą. Dioda miga. Nie wiem gdzie może tkwić problem w moim projekcie. Ewidentnie gdzieś to to jest powiązane z przerwaniami.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


------------------------ [ Dodano po: 4 minutach ]

mirekk36 napisał(a):
kpasdzior napisał(a):
Mylę się?

mylisz się - bo tu jak się zadaje pytanie to warto troszeczkę się chociaż postarać - inaczej wychodzi że robisz kalambury i zagadki zamiast szybko rozwiązać problem ... dlatego wciąż w książce powtarzam o prawidłowym stylu programowania i raczej każdy na forum stara się przynajmniej do tego dostosować gdy się zadaje pytanie - i jeśli się chce w miarę szybko uzyskać pomoc. W przeciwnym razie niewielu osobo chce się nawet analizować taki kod - wybacz i nie dziw się po prostu .... :(

Masz rację. Przyznaję się do błędu mój kod jest straszny. :D Postaram się poprawić.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2014, o 09:03 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

No to skoro miganie Ci już działa (zresztą wcześniej też działało), to teraz
dołóż do tego przerwanie. ;-)

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2014, o 09:09 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27227
Lokalizacja: Szczecin
Pomógł: 1041

kpasdzior napisał(a):
Masz rację. Przyznaję się do błędu mój kod jest straszny


To akurat nie jest aż taki problem każdy kiedyś zaczynał i popełniał takie błędy - ważne żeby w miarę szybko znaleźć dobrą drogę ...

ale ok - skoro miganie diodą działa to już sam widzisz, że jest lepiej ... i masz wyjaśnioną najważniejszą swoją kwestię i wiesz gdzie szukać mniej więcej ...

tylko teraz na spokojnie - powiedz mi jeszcze (bo tak spojrzałem jeszcze raz na ten twój kod na górze) ... w czym ty piszesz ten kod

1. w języku C ? (avr gcc)
2. czy może w Arduino (bo widzę jakąś funkcję setup() ... jakieś ciągle przewijają się u ciebie nazwy digital pin - a to ma mało wspólnego z C, raczej właśnie pachnie to Arduinem)

i teraz jeśli programujesz w C to powiedz mi masz Bluebooka ? ... Jeśli zaś chodzi o przerwania - to nie wymyślaj teraz jakichś teorii dziwnych tylko po prostu: - napisz ten swój kod ale nie aktywuj żadnych przerwań - no i uwaga - NAJGORSZE w twoim kodzie - TY NIE MASZ pętli głównej programu .... dlatego też podejrzewam że coś ci się miesza programowanie w C z Arduino

a jeśli jednak programujesz w Arduino - to też to napisz wyraźnie bo całkiem inaczej będzie trzeba podejść tylko że dalej to ja już nie pomogę bo nie znam Arduino.

------------------------ [ Dodano po: 2 minutach ]

MirkoT napisał(a):
No to skoro miganie Ci już działa (zresztą wcześniej też działało), to teraz
dołóż do tego przerwanie. ;-)


Kłopot w tym że jeśli nie ma pętli głównej to będzie ZONK, a tym bardziej jeśli kolega zezwala na jakieś przerwania, odpala sei() a do tego nie pisze żadnych procedur obsługi przerwań ... no i jak pisałem wyżej być może pisze wszystko w Arduino


Dlatego kolega autor wyraźnie musi się zdeklarować w jakim języku pisze i w jakim środowisku - to ważne bo inaczej przez 20 dni będziemy podpowiadać nie wiadomo co po ? :( skoro o całkiem coś innego chodzi

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2014, o 10:32 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

A taki pytanie o autora bo sam jestem mocno początkujacy i może nei czaję tego zapisu:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Co oznaczają te dwa // ? Czy to komentarz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2014, o 10:35 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Wilu88 napisał(a):
A taki pytanie o autora bo sam jestem mocno początkujacy i może nei czaję tego zapisu:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Co oznaczają te dwa // ? Czy to komentarz?

Tak to co za // jest komentarzem do końca linii
Po prostu autor zmienił z PD2 na PB5 a poprzednią wartość po prostu zakomentował
Pewnie z myślą, że później do tego wróci

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 24 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO