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



Teraz jest 22 lut 2025, o 19:59


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 20 ] 
Autor Wiadomość
 Tytuł: Reset Atmegi
PostNapisane: 27 mar 2013, o 10:09 
Offline
Nowy

Dołączył(a): 26 mar 2013
Posty: 14
Pomógł: 0

Przede wszystkim witam forumowiczów po raz pierwszy i od razu z problemem.

Chciałem zrobić sobie na UART komunikację z komputerem i zrobiłem (posiadając książkę i biblioteki P.Mirka nic trudnego) ale urodził się mały problem.

Założeniem praktycznym było aby atmega wysyłała przez rs232 zczytane temperatury do komputera i zapisywała je do bazy mysql no i się zaczęło, wszystko programowałem z komputera z Windowsem - od pierwszego kopa transmisja idzie git - się cieszę. Ale docelowo sprzęt ma być podłączony do komputera z linuxem (debian) - więc podłączam odpalam konsolę - super transmisja idzie ale ???

No właśnie tu jest problem - po każdorazowym połączeniu i rozłączeniu terminala linuxa następuje reset mikrokontrolera, mało tego, przy wysłaniu danych przysłowiowej 1 następuje reset (przypominam że na windowsowym terminalu nic się nie dzieje)

Biblioteki UART w wersji oryginalnej z płyty.

O co biega może ma ktoś pomysł.

_________________
https://t.me/pump_upp



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 10:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Może w momencie zamknięcia terminal wysyła jakieś śmieci na rs232 co powoduje reset uC. Niestety bez bardziej szczegółowych informacji z twojej strony nic nie wskóramy.
- Schemat połączeń do przejrzenia ( co podłączasz? czy to jest zestaw ATB, czy płytka twojej produkcji)
- Program z uC do przejrzenia.
- jak jest zasilane uC

Powodów możę być wiele więc poprosimy o więcej szczegółów.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 10:32 
Offline
Nowy

Dołączył(a): 26 mar 2013
Posty: 14
Pomógł: 0

Ok dzięki z zainteresowanie i po kolei

Płytka testowa evb 4.3 v4
procesor Atmega 16
Zasilanie z USB komputera
Co do programu to wrzucę po powrocie z pracy ale to tylko parę komend z książki i biblioteka
generalnie jak napisałem wcześniej pod Windowsem ganc działa.

_________________
https://t.me/pump_upp



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 12:07 
Offline
Moderator
Avatar użytkownika

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

Panie doktorze piotrze ;) (fajny nick nawiasem mówiąc) ;) .... ciekawe zjawisko opisujesz - rzeczywiście - że po rozłączeniu terminala następuje reset procka .... bo to by świadczyło że problem teoretycznie w ogóle nie dotyczy sprzętu - chociaż niepożądanym efektem sprzętowym to się kończy.

Dlatego moje pytanie - o której książce mówisz ? BlueBook czy GreenBook ? .... chodzi mi o to z których bibliotek korzystasz - bo tu one bardzo się różnią i w pierwszej książce jest to wersja taka troszkę bardziej dydaktyczna - mało zabezpieczona na dziwne przypadki programowe (chodzi mi o obsługę RS232 w przerwaniu - piszę o tym w książce) ... zaś w zielonej książce już jest mocno inaczej .... aczkolwiek tak przychodzi mi do głowy że takie rozłączenie terminala w Linuxie czy np nie powoduje nagle wysłania jakiejś dużej ilości niechcianych znaków ? próbowałeś podsłuchać linię Tx z kompa w tym czasie ? bo może właśnie jeśli z kolei korzystasz z Zielonej książki to może gdzieś przy parsowaniu danych następuje jakieś przepełnienie tablicy, indeksu. wskaźnika - co zwykle kończy się takim resetem ?

chociaż jak mówię dziwna sprawa skoro piszesz że pod windą dział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: 27 mar 2013, o 12:15 
Offline
Użytkownik

Dołączył(a): 05 lut 2013
Posty: 302
Pomógł: 19

A nie jest tak, ze ma kolega podlaczone jakies linie typu DTR/RTS/CTS gdzies do ukladu i windowsowy terminal ich nie rusza, a linuxowy wprost przeciwnie?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 15:10 
Offline
Nowy

Dołączył(a): 26 mar 2013
Posty: 14
Pomógł: 0

Tak po prawdzie to źle opisałem jeden temat - nie uściśliłem - pisząc rs232 miałem na myśli usb przez ft232 umieszczony oryginalnie na płycie.

Co do programu to - biblioteki z niebieskiej książki
sam kod to same podstawy
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


W linuxie po podłączeniu oczywiście reset i działa transmisja tzn uart_putint(i,10); pięknie daje po kolei liczby (także prędkość ok 19200) rozłączam (reset) wysyłam z terminala coś np 1 (reset) zastanawiam się czy to nie sprawa braku uziemienia-masy już kiedyś miałem problemy z 1wire na serwerze linuxowym z transmisją.

ps.
Nick raczej z od postaci książkowej niż tyt. naukowego Heheh

_________________
https://t.me/pump_upp



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 15:25 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

hmm niewiem jak tam jest na EVB , ale sugeruję odłączyć wszystko o uarta atmegi i podłączyć tylko RXD , TXD i GND
wygląda mi to właśnie na wystawianie sygnałów na DTR RTS , używane do wprowadzenia w tryb bootloadera w celu
zachowania zgodności z ARDUINO ... sprawdź - może masz zworkę do wyłączenia tego resetu

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



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

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

A mnie coś ten delay tak w oczy kole ... bo 32 bajty bufora * 1 sek to aż całe 32 sekundy, oczywiście przy założeniu że terminal wysłał śmieci podczas rozłączenia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 16:57 
Offline
Nowy

Dołączył(a): 26 mar 2013
Posty: 14
Pomógł: 0

To by się zgadzało przy założeniu że uart idzie w pętli głównej a nie w przerwaniach (tak mi się wydaje i wynika z książki chyba że źle zrozumiałem)

Zworek przy ft232 jest tylko jedna VCC - po zdjęciu wyłączam zasilanie

_________________
https://t.me/pump_upp



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 20:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

To sprawdź ten kod

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


Jeżeli pojawią ci sie wartości nie porządane, to będziesz miał informację "błąd" na wyświetlaczu przez ,5 sek, a pętla główna będzie się wykonywać tylko wtedy gdy w buforze będziesz miał jakies dane.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2013, o 17:46 
Offline
Nowy

Dołączył(a): 26 mar 2013
Posty: 14
Pomógł: 0

Wgrałem program

i efekt

server:/etc/samba# cat /dev/ttyUSB0
Witam w programie
Błąd !!!
0
Błąd !!!
1
Błąd !!!
2

Na moją głowę wychodzi że cos z terminala jest non stop wysyłane
oczywiście na lcd to samo no i na poczatku reset.

Zmieniłem dystrybucję linuxa z lenny na squezze bo brak mi było pakietów i przynajmniej pozbyłem sie problemu resetu przy rozłączaniu teraz jedynie przy podłączaniu terminala jest reset. Ciort go wie o co chodzi.

_________________
https://t.me/pump_upp



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2013, o 19:22 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

ot norma w linuxie .... nie wiadomo dlaczego coś nie działa/źle działa/
dlatego zawiesiłem z nim współpracę ....

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2013, o 20:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Popraw jeszcze case 4: na case '4': - co prawda nie ma to wpływu na całokształt , ale porządek musi być ;)

Wracając do terminala to przychodzi mi tylko jedno do głowy żeby skrosować RX i TX dla PC i zobaczyć co się dzieje, ale szczerze mówiąc to nie bardzo wierzę że się tak da coś podejrzeć.
Ewentualnie wszystko wywalać na wyświetlacz ....


Ooooo a może mądry terminal wysyła znak cr albo lf , dopisz do tych switch'y dodatkowe warunki które to pokażą ......



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2013, o 20:34 
Offline
Moderator
Avatar użytkownika

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

SunRiver napisał(a):
ot norma w linuxie .... nie wiadomo dlaczego coś nie działa/źle działa/
dlatego zawiesiłem z nim współpracę ....


sorki - żeby ktoś nie pomyślał że jestem złośliwy bo nie dlatego to powiem co powiem ale ;)

cieszą mnie takie wypowiedzi ;) hyhyhyhyhy bo nie żałuję że nie udało mi się nauczyć linuxa ;) ale to taki żart oczywiście i nic nie mam tak na prawdę przeciwko braci linuxowej - wręcz ją pozdrawiam i życzę powodzenia w walkach.

_________________
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: 28 mar 2013, o 20:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 233
Lokalizacja: Gdynia
Pomógł: 15

Sprawdzałeś czy masz te same objawy używając innego terminala? Jeśli nie to spróbuj gtkterm. Zainteresuj się też takim fajnym programikiem, który ułatwia komunikację jeśli chcesz pobierać dane w skrypcie:

http://sjinn.sourceforge.net/index.html

Przykładowa komenda:
Cytuj:
$ rs232 -b600 -p7n2 -s"\n" -r16


Czyli: wyślij z prędkościa 600 bodów, 7 bitów danych, 2 bity stopu, znak nowej linii i odbierz 16 znaków. W skrypcie mogło by to wyglądać tak:

Cytuj:
data=$(rs232 -b600 -p7n2 -s"\n" -r16 )



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2013, o 09:12 
Offline
Użytkownik

Dołączył(a): 05 lut 2013
Posty: 302
Pomógł: 19

Bledu szukalbym w driverach do FT232 w linuxie. Mozliwe ze jest do FT232 jakis program ustawiajacy go?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2013, o 16:24 
Offline
Nowy

Dołączył(a): 26 mar 2013
Posty: 14
Pomógł: 0

nixie bingo !!! dzięki

Poszło i co najważniejsze działa jak chiałem.

server:/var/www/piec/sjinn# sjinn -d /dev/ttyUSB0 -b19200 -p8n1 -s "1" -r16
temperatura 0 1

wysyłam tekstowo 1 - -s "1"

na lcd jedynka bez resetu

dostaje w zamian to cho chciałem temperatura 0 1 beze resetu hura

_________________
https://t.me/pump_upp



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2013, o 16:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 233
Lokalizacja: Gdynia
Pomógł: 15

Super. Błąd może leżał po prostu w ustawieniach portu szeregowego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 mar 2013, o 08:47 
Offline
Nowy

Dołączył(a): 26 mar 2013
Posty: 14
Pomógł: 0

Wrzucę może się komuś przyda lub nie ale sądzę że nawet jak jest to jak to mówi P. Mirek babol to zawsze jakaś podstawa do poprawy.

zacznę od mikrokontrolera - bliblioteki z niebieskiej książki ino musiałem zwiększyć bufor z 16 na 32 bo sie mikrokontroler przywieszał

#define UART_TX_BUF_SIZE 32 // definiujemy bufor o rozmiarze 16 bajtów

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


wysyła mi temperatury w formie
1134,345,234,345,343,1

na debianie z basha

użyłem programu stty nie tego co proponował nixie (ale bardzo naprowadziło mnie to na cel)

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


Jak już mam w mysql dane to na linuksie moge zrobić co mi się żywnie podoba.

Pozdrowienia dla pomagających.

_________________
https://t.me/pump_upp



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2015, o 16:13 
Offline
Nowy

Dołączył(a): 26 mar 2013
Posty: 14
Pomógł: 0

Witam ponownie - ciągnę temat ale już całkowicie z innej beczki.

Odpaliłem kilka płytek z różnymi AVR-ami na magistrali RS485 - chodzi ładnie i bezproblemowo na zasadzie systemu modbus.
Sterowanie master chciałem zrobić na Cubieboard2 - razem z konwerterem USB<->RS485 - i też udało się.
Ale doszło do skryptu odczytującego no i problem dla mnie nie do obejścia.

Powyższy skrypt działa dla odczytu prawidłowo ale tu mam do czynienia z modbus czyli trzeba wydać komendę aby mikrokontroler się odezwał i komendę wysyłam echo "101,001,001" > /dev/ttyUSB0 wszystko jest pięknie jak wysyłam tą komendę np z innej sesji Putty gdy w 2 okienku mam zapętlony skrypt - ładnie odczytuje. Ale jak dodam tą samą komendę do skryptu

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

to zawiesza się bestia i stoi przy odczycie a ani rusz. Ciekawe jest że się wykona gdy wykonam komendę z 2 okienka jest wszystko ładnie.

Nie wiem co może być, choć się domyślam że chodzi o czas zwalniania lini rs485 - chyba ok 15 ms prosiłbym o pomoc.

_________________
https://t.me/pump_upp



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO