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



Teraz jest 11 kwi 2026, o 22:13


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 26 sie 2014, o 11:24 
Offline
Nowy

Dołączył(a): 06 lut 2014
Posty: 8
Pomógł: 0

Witam.

Prosze o nakierowanie. Jestem na etapie obslugi RS232 i korzystam z przerwan.

W jaki sposob moge odebrac wyslany z PC (Visual C#) string, by przy porownaniu z innym konkretnym stringiem wywolac procedure?

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


EDIT:
dziwne zjawisko jest takie, ze dioda podlaczona do PC7 zapala sie od poczatku programu. Czyli if z funkcja strcmp jest spelniony od samego poczatku?
Dziekuje.



Ostatnio edytowano 26 sie 2014, o 12:30 przez mat_mate, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sie 2014, o 11:54 
Offline
Użytkownik

Dołączył(a): 26 lip 2013
Posty: 29
Pomógł: 3

1. nigdzie nie zwiększasz zmiennej i
2. nie masz żadnej pętli, więc program wykona się tylko raz :)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sie 2014, o 12:27 
Offline
Nowy

Dołączył(a): 06 lut 2014
Posty: 8
Pomógł: 0

Aj.

1. Przeoczylem, dzieki. Niestety nie rozwiazuje to problemu.
2. Sorki, petla jest, lecz przy kopiowaniu tutaj jej nie uwzglednilem.

Juz aktualizuje i dalej prosze o pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sie 2014, o 12:39 
Offline
Użytkownik

Dołączył(a): 26 lip 2013
Posty: 29
Pomógł: 3

zależy jak masz podłączoną diodę - pewnie anodą do procesora i dlatego jest zapalona w momencie startu programu. Poza tym instrukcja zmienia stan wyjściowy na przeciwny, więc raz będzie zapalona a raz zgaszona.
EDIT:
rozumiem, że wszystkie funkcje są od Mirka z książki? sprawdzałeś połączenia?
sprawdź ten temat: topic968.html

3. nie inicjalizujesz UARTa
4. nie zezwalasz na przerwania globalne


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sie 2014, o 13:02 
Offline
Nowy

Dołączył(a): 06 lut 2014
Posty: 8
Pomógł: 0

Inicjalizacja UARTa nie została w moim kodzie zawarta dla przejrzystosci, tak samo przerwania globalne. Prosze wybaczyc ;) Nastepnym razem bede od razu o tym informowal. Jestem młodym użytkownikiem tego forum ;)

Problem rozwiązany. Dziękuje za linka. Zmieniłem następującą część kodu:

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


Z powodu tego miejsca do tablicy "y" wpadały też znaki '\0' co było nieporządane.

W dalszym ciągu nie rozumiem jednak zachowania funkcji strcmp która porównując tablice pełną znaków '\0' ye stringiem "cmd" zwraca 0?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sie 2014, o 13:06 
Offline
Użytkownik

Dołączył(a): 26 lip 2013
Posty: 29
Pomógł: 3

a skąd wiesz, że zwraca 0? dioda miga tak? napisz tak:
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: 26 sie 2014, o 13:26 
Offline
Nowy

Dołączył(a): 06 lut 2014
Posty: 8
Pomógł: 0

filip napisał(a):
a skąd wiesz, że zwraca 0?

Zwraca 0 poniewaz zapala mi sie dioda. Korzystam z ATB 1.04 i dioda jest podlaczona katoda do procesora.

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

To niestety nie dziala. Jak na moje to 0 == '\0' przez co w trakcie wykonywania petli glownej do tablicy y wpadaja zerowe wartosci.

Kombinuje dalej, poniewaz przy przesylaniu stringa "cm" ten if sprawdzający zbieżność stringow również zwraca 0??\

EDIT: "cm" wypełnia warunek, ale tylko gdy już raz prześlę "cmd"

Skompaktowałem trochę całość:

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



Ostatnio edytowano 26 sie 2014, o 13:32 przez mat_mate, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sie 2014, o 13:32 
Offline
Użytkownik

Dołączył(a): 26 lip 2013
Posty: 29
Pomógł: 3

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

zamiast strcpy i powiedz czy działa.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sie 2014, o 13:37 
Offline
Nowy

Dołączył(a): 06 lut 2014
Posty: 8
Pomógł: 0

Znak gwiazdki jest czyms wyjatkowym? Niestety dziala tylko za pierwszym razem. Potem podejzewam ze calosc jest wypelniona gwiazdkami i wiadomo ze stringi sie nie pokrywaja.

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


EDIT:

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

Rozwiązało sprawę.

Dzięki za wspólne dywagacje :)



Ostatnio edytowano 26 sie 2014, o 13:41 przez mat_mate, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sie 2014, o 13:41 
Offline
Użytkownik

Dołączył(a): 26 lip 2013
Posty: 29
Pomógł: 3

fakt, mój błąd - pewnie, że się nie pokryją.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO