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



Teraz jest 18 mar 2026, o 23:14


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 16 gru 2014, o 09:10 
Offline
Nowy

Dołączył(a): 04 lis 2014
Posty: 6
Pomógł: 0

Witam,
mam problem z napisaniem odpowiedniej obsługi przerwania tak aby program po jej wykonaniu wrócił do miejsca w którym przerwał.

Ale od początku. Mam program który steruje kierunkiem obrotów silniczka, dodatkowo zapala się dioda, na końcu gaśnie. Jeśli o to chodzi to wszystko działa. Chciałbym teraz przełącznikiem dwu pozycyjnym 0/1 w dowolnej chwili wszystko wyłączyć a następnie tym samym przełącznikiem zmieniając jego położenie wszystko włączyć aby dalej działało.
I tu pojawia się problem. Samo przerwanie działa, jednak po zatrzymaniu programu nie mogę go ponownie uruchomić, w zalezności od zastosowanej procedury silnik rusza ale dioda juz sie nie zapala.
Kombinuje z różnymi procedurami, w tym kodzie mam procedurę zrobioną na do while, (desperacja) nie działa poprawnie.

Robiłem jeszcze tak:

while(1)
if(PIND &~ (1<<PD2));
{
PROGRAM_STOP;
}

tu program się zatrzymuje jednak przez pętle while(1) nie rusza dalej, bez pętli while(1) zatrzymuje się tylko na chwilę, silnik rusza dalej ale dioda juz nie.
Proszę o pomoc :(



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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 gru 2014, o 10:50 
Offline
Nowy

Dołączył(a): 04 lis 2014
Posty: 6
Pomógł: 0

Dzięki za odpowiedz. Generalnie chodzi mi o zatrzymanie a później wznowienie działania programu. Coś w stylu wyłącznik bezpieczeństwa.
Macie może jakiś inny pomysł na to ????



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 gru 2014, o 11:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

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

jeden nawias za dużo na początku.

...raczej chyba jeden za mało z tyłu :) - kol.rodziak27 szerokim łukiem ominął warninga, bo na pewno takiego miał.

Pozdr.



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: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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