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



Teraz jest 5 gru 2024, o 01:05


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 
Autor Wiadomość
PostNapisane: 24 mar 2016, o 20:07 
Offline
Nowy

Dołączył(a): 17 sie 2015
Posty: 10
Pomógł: 0

Witam. Napisałem program na komputer który wysyła komendy w kodzie ascii po rs232 z tym wszystko działa. Mam problem z odbiorem przez mikrokontroler (atmega32 taktowanie 14M) biblioteki do uarta z zielnej książki. Za każdą pomoc dziękuję.

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: 24 mar 2016, o 20:15 
Offline
Użytkownik
Avatar użytkownika

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

Witam
Kris3 napisał(a):
Mam problem z odbiorem przez mikrokontroler ... biblioteki do uarta z zielnej książki.

Nie wiem czy tylko ja nie załapałem czy...
Moją pomocą będzie: napisz nieco jaśniej.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2016, o 20:50 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

W języku C łańcuchów znaków nie da się porównać z użyciem operatora ==. Do tego służą funkcje strcm i podobne dostępne w string.h. Spróbuj tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2016, o 21:05 
Offline
Nowy

Dołączył(a): 17 sie 2015
Posty: 10
Pomógł: 0

Krauser napisał(a):
W języku C łańcuchów znaków nie da się porównać z użyciem operatora ==. Do tego służą funkcje strcm i podobne dostępne w string.h. Spróbuj tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


czy możesz opisać jak to działa w nawiasach podajesz string odebrany i porównywany?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2016, o 21:17 
Offline
Użytkownik

Dołączył(a): 26 lut 2014
Posty: 227
Lokalizacja: LDZ
Pomógł: 22

https://pl.wikibooks.org/wiki/C/Biblioteka_standardowa/Indeks_tematyczny#string.h
Proponuje to przeczytać a wiele się rozjaśni.
Ew. tutaj.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2016, o 21:24 
Offline
Użytkownik

Dołączył(a): 29 mar 2012
Posty: 59
Lokalizacja: Lubliniec
Pomógł: 3

Może najpierw się zastanów co tutaj zrobiłeś :

Kod:
   if (str == a)

skoro: str to jest wskaźnik na zmienną typu char, a to tablica to czy czasem nie porównujesz tutaj adresów? Zastanów się nad tym;)

A opis funkcji znajdziesz w rozdziale w green book'u którego polecam, lub wpisać w google strcmp c language lub język C i na pewno będziesz miał dużo opisów z przykładami, już nie mówiąc, ze jak masz eclipsa to gdy wykorzystasz tą funkcje to sam eclipse Ci podpowie do czego służy ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2016, o 21:59 
Offline
Moderator
Avatar użytkownika

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

No mnie bardzo dziwi fakt, że kolega nie wie jak sprawdzić (parsować stringi), skoro ma zieloną książkę a tam nie dość, że jest to PRECYZYJNIE opisane to jeszcze są wstępne przykłady, działające przykłady na DVD. Co więcej zakładając, że już się śmiga ten rozdział z zielonej książki to ja zwykle zakładam, że ktoś dobrze przerobił przynajmniej Bluebooka - bo z tego:

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


widać, że no albo jednak kolega w ogóle nie zaglądał dalej do tej książki lub do bluebooka i być może w ogóle nie zna jeszcze totalnych podstaw dotyczących tablic i stringów w języku C. Bez tego niestety będzie masakra.

Tymczasem tak jak koledzy wyżej podpowiadają - to nie język C++ i trzeba porównywać tablice ... komendami które tu wyżej padły ... ale też na prawdę polecam zajrzyj ociupinkę dalej do książki bo w funkcji do parsowania komend AT no masz pokazane i omówione to. Jeśli czegoś tam nie rozumiesz to zadaj pytanie czego - wtedy łatwiej będzie pomóc.

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

Kris3 napisał(a):
Krauser napisał(a):
W języku C łańcuchów znaków nie da się porównać z użyciem operatora ==. Do tego służą funkcje strcm i podobne dostępne w string.h. Spróbuj tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


czy możesz opisać jak to działa w nawiasach podajesz string odebrany i porównywany?

A tu przecież kolega podał już tobie wprost gotowy przykład do twojego przykładu wręcz te same zmienne więc nie widzisz w swoim kodzie co to jest "str" i "a"

_________________
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: 24 mar 2016, o 23:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Cytuj:
No mnie bardzo dziwi fakt, że kolega nie wie jak sprawdzić (parsować stringi), skoro ma zieloną książkę
A mnie nie. Sam fakt posiadania książki nie jest równoważny z jej przeczytaniem a nie mówiąc już o zastosowaniu tego praktycznym.

Niestety nie wiem dlaczego, ale w Polsce nie ma podejścia do uczenia sposobów jak samodzielnie i szybko zdobyć potrzebną informację oraz ją łatwo przyswoić i zastosować. I przez to wychodzą takie sytuacje. Mam książkę z pięknie opisanym rozwiązaniem, ale i tak nie umiem tego zrobić :(

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 mar 2016, o 14:52 
Offline
Nowy

Dołączył(a): 17 sie 2015
Posty: 10
Pomógł: 0

Dziękuję koledze za linki wszystko jest czego potrzebowałem.
Mam niebieską i zieloną książkę może jak bym ją całą przeczytał to pewnie nie miał bym pytań (niestety brak czasu tym bardziej jak się nie mieszka w Polsce). Tak można powiedzieć na większość problemów jakie tu są. To po co Panie Mirku to forum tylko do chwalenia się co zrobiłem mam nadzieję że nie.
Miałem problem dostałem rozwiązanie które sprawdzę niestety dopiero po świętach. Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 mar 2016, o 21:21 
Offline
Moderator
Avatar użytkownika

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

Kris3 napisał(a):
To po co Panie Mirku to forum tylko do chwalenia się co zrobiłem mam nadzieję że nie.

Nie ... nie tylko po to chociaż lubię oglądać jak ktoś się chwali swoimi konstrukcjami w dziale DIY ....

Za to sorki - ty też zrozum, że np trudno opisywać na forum od nowa to co w książce .... a tym bardziej, gdy sam piszesz, że tą książkę masz. To jakaś obraza majestatu gdy się odeśle kogoś do tej książki i wskaże miejsce gdzie co jest ?

_________________
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: 10 kwi 2016, o 16:22 
Offline
Nowy

Dołączył(a): 17 sie 2015
Posty: 10
Pomógł: 0

Po wpisaniu tej funkcji program nadal nie działa może ktoś wie dlaczego?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 kwi 2016, o 18:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 sie 2014
Posty: 31
Pomógł: 9

Zacznij od początku.
1. Sprawdź mkuart.h czy uart_baud masz ustawiony tak jak w terminalu
2. Czy kwarc na pcb ma taką samą wartość jak w ustawieniach projektu jeżeli nie to popraw w Eclipse i Clean projektu oraz ponowna kompilacja
3. Sprawdź linie RX TX czy są odpowiednio podłączone do czegoś co zapewnia komunikację między komputerem a procesorem( albo nie doczytałem albo nie napisałeś za pośrednictwem czego komunikujesz się z procesorem. O ile to kabel USB to nie ma problemu)
4. Zajrzyj na stronę ATNEL i sprawdź czy czy nie ma poprawek do biblioteki USART
http://www.atnel.pl/uaktualnienia-programow-do-dvd.html

A co do kodu. Porównanie może wyglądać tak(ale nie musi):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Życzę powodzenia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 kwi 2016, o 23:08 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Kris3 napisał(a):
Po wpisaniu tej funkcji program nadal nie działa może ktoś wie dlaczego?

Po wywołaniu funkcji sei, a przed pętlą while umieść:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Dowiesz się czy nadawanie działa.
Jakbyś umieścił aktualnie męczony kod (bez bibliotek rzecz jasna) to ktoś pewnie pokusi się o jego sprawdzenie w ramach ćwiczeń, bo spora grupa użytkowników forum posiada i zestaw ATB i książki Mirka.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 kwi 2016, o 11:54 
Offline
Nowy

Dołączył(a): 17 sie 2015
Posty: 10
Pomógł: 0

Na początku dodam że kod z niebieskiej książki działa więc z elektronika wszystko ok.
biblioteki aktualne prędkość prawidłowa.
Jak ktoś będzie chciał to może sprawdzić kod na swoim układzie
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jak wrócę do Niemiec to sprawdzę wszystkie rady powyżej.



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

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