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



Teraz jest 26 kwi 2024, o 10:22


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 31 ]  Przejdź na stronę 1, 2  Następna strona
Autor Wiadomość
PostNapisane: 2 gru 2014, o 22:01 
Offline
Użytkownik

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

Hej,
mam problem z programem.
Na atmegę128 wrzuciłem program do UARTU z DVD. przerobiłem wszystkie nazwy na te odpowiadające UART0. Przerobiłem przerwania i niby działa. Niby dlatego że:
1)wysyłanie z uK do PC działa bez problemu.
2)odbiór z PC nie działa :D

Otóż zawsze odbierane jest zero i jak od razu wyślę to co odebrałem to w realterm wyświetla mi tylko null.

Ktoś ma pomysł czym to może być spowodowane?



Ostatnio edytowano 2 gru 2014, o 22:11 przez skoomi, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 gru 2014, o 22:09 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

Po pierwsze nie wrzucamy na forum kodów z bibliotek Mirka.

Po drugie nie wiem czy to pomoże bo w sumie to tylko obsługa błędu ale wywołanie w przerwaniu funkcji do wyrzucenia czegoś na LCD w której to znajduję się pętla while blokująca nie jest dobrym pomysłem. Zanim te dane zostaną do LCD'ka wysłane minie trochę czasu. Lepiej ustaw w tym miejscu jakąś flagę a w pętli głównej sprawdzaj czy coś przyszło. Czyli mówiąc "po naszemu":

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: 2 gru 2014, o 22:14 
Offline
Użytkownik

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

No niestety, ale to nie ta funkcja LCD. Ją wrzuciłem tylko dla testu. Wydaje mi się, że to coś z rejestrami musi być nie tak skoro program wchodzi w przerwanie, ale nic nie odbiera...

Wrzucę więc tylko fragmencik ustawiania rejestrów.
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: 2 gru 2014, o 22:23 
Offline
Użytkownik

Dołączył(a): 19 cze 2014
Posty: 247
Pomógł: 15

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

_________________
http://elektropanel.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 gru 2014, o 22:30 
Offline
Użytkownik

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

Niestety dalej to samo :/
Odpaliłem standardową procedurę odpluskwiania (wyświetlałem wszystko pokolei:D) i dowiedziałem się tyle:
Po wejściu do przerwania tmp_head=0, rs232_RxHead=31, rs232_RxTail=0
Siłą rzeczy (tmp_head+1)&31 = 0
więc głowa = 0, ogon = 0 i dupa blada ;(.
Tylko dlaczego od razu po wystartowaniu głowa ustawia się na 31?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 gru 2014, o 23:53 
Offline
Moderator
Avatar użytkownika

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

sprawdź najpierw na procku jak z książki - zrozum jak działa - zobacz że działa - wtedy łatwiej będzie ci przeportować na inny procek

_________________
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 gru 2014, o 23:59 
Offline
Użytkownik

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

Problemem jest to, że na atmedze 32 działało mi to od strzała ;/ A teraz robię, bo później będę potrzebował drugiego USARTA.
Czytam i czytam, porównuję noty katalogowe i nic ;( Od kilku godzin nie potrafię tego rozgryźć.



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

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

skoomi napisał(a):
Problemem jest to, że na atmedze 32 działało mi to od strzała ;/

a OK,

Spróbuj wkleić (ale tylko fragmenty) kodu biblioteki z Bluebooka - te fragmenty, które przerobiłeś pod ATmega128 (tak żeby zaraz całego libsa niepotrzebnie nie wklejać ok? ...

popatrzymy

_________________
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 gru 2014, o 00:09 
Offline
Użytkownik

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

zamiast UART we wszystkich stałych i zmiennych napisałem rs232
W inicjalizacji
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



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



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


w przerwaniu odbierającym:
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: 3 gru 2014, o 00:17 
Offline
Moderator
Avatar użytkownika

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

korzystasz z jakiego taktowania ? dokładnie ?

------------------------ [ Dodano po: kilkunastu sekundach ]

jaki masz wzór na UBRR w pliku *.h ?

_________________
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 gru 2014, o 00:18 
Offline
Użytkownik

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

8MHz wewnętrzny oscylator. Prędkość przesyłania 9600. Wysyłanie działa.

F_CPU/16/rs232_BAUD-1

Tabelki w pdfach porównywałem - takie same.



Ostatnio edytowano 3 gru 2014, o 00:20 przez skoomi, łącznie edytowano 1 raz

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

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

Jak masz rozwiązane programowanie i komunikację RS232 przez UART0 ? kawałek schematu ?

------------------------ [ Dodano po: kilkunastu sekundach ]

skoomi napisał(a):
8MHz wewnętrzny oscylator. Prędkość przesyłania 9600. Wysyłanie działa.

F_CPU/16/rs232_BAUD-1


to szybko zajrzyj pan tutaj przede wszystkim

http://mirekk36.blogspot.com/2013/01/rs ... trick.html

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

masz pan ODPROGRAMOWANY Fusebit M102 ??? ;)

_________________
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 gru 2014, o 00:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2014
Posty: 296
Lokalizacja: Jaskółowo k. Warszawy
Pomógł: 9

Kolego zmień sposób obliczania UBRR z postu od Mirka oraz polecam Ci zakup kwarcu 11.0592 MHz.
Oszczędzi Ci problemów.

pzdr

_________________
POZDROWIONKA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2014, o 00:31 
Offline
Użytkownik

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

Bit M103 mam odprogramowany.
Zmiana wzoru nie pomogła a nawet przeszkodziła ;/
Na czas programowania odłączam przejściówkę z usb na ttl rxd txd. Masymam połączone.
Na czas komunikacji odłączam programator.
Obrazek

Ustawiłem na sztywno UBRR 51 i nic ;( Chyba coś knocę gdzie indziej. Czy dobrze rozumiem działanie?
1)mam kod który po naciśnięciu klawisza wywołuje
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

2)czyli najpierw z terminala wysyłam literkę a
3)a potem naciskam klawisz.
4)wywala mi na terminalu null



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

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

skoomi napisał(a):
Zmiana wzoru nie pomogła a nawet przeszkodziła ;/

Sorki ale to ja się odłączam - ... to nie przeszkadza tylko pomaga panie kochany - ba! tak MUSI BYĆ a skoro po zmianie nawet zera czy czegoś tam nie odbierasz to tylko pokazuje że masz jeszcze inne babole

na chybił trafił więc próbuj dalej

_________________
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 gru 2014, o 00:53 
Offline
Użytkownik

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

No dobra, wstawiłem drugi wzór i działa tak jak działało. Musiałem coś pokręcić.
Próbowałem nawet robić delaya przed wszystkimi inicjalizacjami i w tym czasie odłączać programator i nic ;(



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

Dołączył(a): 01 lis 2011
Posty: 265
Lokalizacja: Szczecin
Pomógł: 9

Przedzwaniałeś kabel? Czy trzy żyły są drożne Rx,Tx (???), GND? Może drucik przy Tx został uszkodzony?

_________________
www.iuvo.it - Automatyka Budynkowa



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2014, o 00:56 
Offline
Użytkownik

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

Tak, wszystko piszczy gdzie trzeba.



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

Dołączył(a): 01 lis 2011
Posty: 265
Lokalizacja: Szczecin
Pomógł: 9

Podczas wysyłania z "realterm", którego używasz każda komenda jest kończona znakiem enter? Założenia biblioteki tego wymagają. Może spróbuj z innego terminala Putty lub Terminal by Br@y

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

... a nie bez sensu. na ATMega32 Ci wszystko chodziło.

_________________
www.iuvo.it - Automatyka Budynkowa



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

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

Czy dodam CR czy LF czy CRLF to lipa.
Chyba pozostaje mi zmontować szybko układ na stykówce z atmegą 32 i zobaczyć czy przypadkiem ten konwerter mi się nie uszkodził...



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

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

Cytuj:
Chyba pozostaje mi zmontować szybko układ na stykówce z atmegą 32 i zobaczyć czy przypadkiem ten konwerter mi się nie uszkodził...


po co sprawdź ECHO - jeśli działa echo to MUSI działać z prockiem

zakładam że masz przejściówkę w standardzie TTL ?

_________________
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 gru 2014, o 01:11 
Offline
Użytkownik

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

Tak, przejściówka TTL.
Nie umiem sprawdzić ECHO :oops: Zaraz poczytam i spróbuję.

Zrobiłem jeszcze jeden test:
wrzuciłem w przerwaniu odebrania wyświetlanie:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

i od razu po zaprogramowaniu na moich oczach zawala się cały wyświetlacz krzakami...
To chyba jakieś śmieci prawda?



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

Dołączył(a): 01 lis 2011
Posty: 265
Lokalizacja: Szczecin
Pomógł: 9

Połącz Rx i Tx w przejściówce. To co wysyłasz z terminala ma Ci się, w nim pojawić :)

_________________
www.iuvo.it - Automatyka Budynkowa



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2014, o 01:18 
Offline
Użytkownik

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

W takim razie przejściówka jest dobra ;)

O matko ale mi ulżyło. Już miałem czarne myśli, że akurat ta część procka siadła (prawdopodobieństwo pewnie 0.05%). Ale coś zadziałało!

Miałem już kilka teorii dlaczego, ale każda zła.
Poszlaka:
Wygląda na to że na początku mam bufor zapchany nullami, a potem zaczyna wszystko działać.



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

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

Cytuj:
Poszlaka:
Wygląda na to że na początku mam bufor zapchany nullami, a potem zaczyna wszystko działać.


a pokaż ty jak ty w ogóle to próbujesz odbierać w main ;) bo już chyba czuję co robisz - jeśli ci to po jakimś czasie rusza

_________________
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 gru 2014, o 11:55 
Offline
Użytkownik

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

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: 3 gru 2014, o 12:01 
Offline
Moderator
Avatar użytkownika

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

I powiedz mi z tego kodu ktoś ma zobaczyć gdzie jest problem ?

Czy ciężko napisać samą funkcję main() z inicjalizacją UART i samą pętlą while która tylko będzie np wysyłać znaki do termianala ?

tyle raz o tym piszę .... no ludziska - nauczcie się rozwiązywać problemy, dzielić problem na mniejsze kawałki , WYIZOLOWAĆ problem a nie testować na kobyle - przecież to bez sensu

zacznij proszę od nowego projektu z taką MINIMALISTYCZNĄ wersją gdzie będzie ci działać samo wysyłanie na UART - jak z książki - co sekundę string do terminala

i pokaż wtedy ten kod oraz konfigurację UART'a z pliku *.h

_________________
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 gru 2014, o 12:27 
Offline
Użytkownik

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

:oops:
Już się się robi :)

------------------------ [ Dodano po: 19 minutach ]

No i taki kod działa - co sekundę mam na terminalu literkę
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: 23 minutach ]

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

i to też działa. Po wysłaniu litery do uK dostaję ją z powrotem na PC.
Czyli wychodzi że wcześniej to wina maina, a w bibliotekach nic nie namieszałem.



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

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

skoomi napisał(a):
Czyli wychodzi że wcześniej to wina maina, a w bibliotekach nic nie namieszałem

A widzisz pan? ;) zapamiętaj sobie - jak się testuje programy - NIGDY nie na KOBYLE, która ci kuleje a nie wiesz od czego :lol:

_________________
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 gru 2014, o 13:15 
Offline
Użytkownik

Dołączył(a): 02 maja 2014
Posty: 78
Pomógł: 1

Zakoduję sobie to ;)
Tylko o co może chodzić w tej mojej kobyle że nie chce mi to śmigać ;D

------------------------ [ Dodano po: 45 minutach ]

Coś się krzaczy już wcześniej. To chyba wina mojego menu. Już przy takim kodzie dzieje się coś dziwnego. Po pierwszym nacieśnięciu wchodzi do menu i wyświetla poprawnie napisy. Jak zacznę dużo klikać to w pewnym momencie wyświetla jakieś brednie typu: opcjENUdddddddd, albo MENU ddddddd/opcja1opcja1dddddddd, albo opcjaotgnudddddd.
Co to może być?
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 31 ]  Przejdź na stronę 1, 2  Następna strona

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