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



Teraz jest 29 mar 2026, o 21:51


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 3 maja 2013, o 16:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lut 2013
Posty: 126
Lokalizacja: Turbia
Pomógł: 0

Witajcie, od kilku dni rozkminiam jak zrealizować najszybciej i najprościej ustawianie zegarka i kalendarza w zestawie ATB. Chodzi o to że mogę to zrobić wysyłając z terminala najpierw ustaw i po tym program przechodzi w pętle odbioru ustawień a dalej ss czyli program czeka na podanie wartości sekund, następnie mm i czeka na wysłanie minut itd aż do odbioru start gdzie wartości ładuje do RTC. Z tym jest ok nie ma przeszkód poza ręcznym wklepywaniem danych a to trochę zajmuje i czasem nie wyrabiam zanim czas sie zmieni a do tego żre sporo kodu. Przed wczoraj jak ślepej kurze ziarno :P udało mi się trafić na ten post http://www.elektroda.pl/rtvforum/viewtopic.php?t=1913306 ale moja radość okazała sie przedwczesna... Problem w tym że kompletnie nie wiem jak takie dane odebrać, co w ogóle dolatuje do procesora i gdzie to siedzi. Funkcję mam z niebieskiej książki ale ona odbiera po jednym znaku a tu z tego co widzę znaków jest sporo. Jeśli ktoś mógłby mi wyjaśnić jak napisać odbiór tych danych byłbym wdzięczny. Jeśli się da to proszę łopatologicznie jak krowie na granicy ;) aha byłbym zapomniał czy część "AT+CZAS=" służy do wywołania funkcji ustawiania czasu w procesorze? coś w stylu mojego "ustaw"?

Dziękuje i pozdrawiam :)

_________________
Zestaw ATB 1.04
Niebieska książka
Zielona książka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2013, o 19:27 
Offline
Moderator
Avatar użytkownika

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

dexter napisał(a):
Funkcję mam z niebieskiej książki ale ona odbiera po jednym znaku a tu z tego co widzę znaków jest sporo


na tym forum, już kilku kolegów z dużym powodzeniem jeszcze nie mając zielonej książki

http://atnel.pl/jezyk-c-pasja-programowania.html

w której dopiero są pełne biblioteki do komunikacji przez RS232 oparte o zdarzenia i super wygodne w użytkowaniu, też jednak napisali sobie we własnym zakresie - czasem z pomocą na forum, własne funkcje do odbierania stringów (BO O TO CHODZI) ... przez RS232 na podstawie niebieskiej książki ....

więc albo popróbuj sam, albo chociaż popatrz na te przykłady i różne podejścia na naszym forum do odbierania stringów bo każde jest inne i dzięki temu można się też sporo poduczyć w C dla AVR ... Później nawet łatwiej będzie ci zrozumieć to co jest opisane w zielonej książce gdy kiedyś trafi ci się ona w łapki. A jak coś to pytaj po drodze i zabierz się za napisanie prostych funkcji do odbioru stringów ok ? ;)

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

bo wtedy to można nawet użyć MENU w terminalu i pięknie czas podawać z takiego MENU jak w tym poradniku

http://mirekk36.blogspot.com/2013/05/te ... z-lcd.html

widziałeś go ? ;)

_________________
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 maja 2013, o 19:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lut 2013
Posty: 126
Lokalizacja: Turbia
Pomógł: 0

Właśnie widziałem, świetne to wygląda :) jak do tej pory robiłem coś podobnego ale bez kolorków i wyglądu a tylko suche wypunktowanie i ewentualne możliwości wyboru.

Staram się napisać tylko właśnie nie wiedziałem co konkretnie odbierać, dziękuję za wskazówkę.

Pogadałem też z janeczqu i poradził mi odebrać wszystko do tablicy, wywnioskowałem że dzięki temu mogę po adresach komórek odbierać to co mnie interesuje bo dane będą zawsze w tych samych komórkach. Ma to szansę bytu?


EDIT:
Po długich rozmyślaniach napisałem w zasadzie prostą funkcję ale niestety klapa, odbiera jeden znak po czym zwraca mi echo i nic więcej się nie dzieje.
Może ktoś wie co jest nie tak ?

Ten kawałek dodałem do Mirkowej biblioteki mkuart.c, następnie w mkuart.h dopisałem "void uart_gets(char *data, uint8_t rozmiar);" a w main.c wywołuję ją tak uart_gets(lancuch,30);" gdzie zmienna lancuch to char lancuch[30]; zadeklarowana zaraz pod załączonymi bibliotekami

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



EDIT 2:

Teraz ruszyło, tylko proszę zerknijcie czy jest poprawnie zapisane. Po wklepaniu czegokolwiek z klawiatury dostaję zwrot na terminalu poprzez "uart_puts(lancuch);" w pliku main.c

Nie wiem tylko co zrobić aby dane odebrane zostały w tablicy lancuch bo z tego co narazie widzę zaraz po wyświetleniu tablica jest czysta.

_________________
Zestaw ATB 1.04
Niebieska książka
Zielona książka



Ostatnio edytowano 7 maja 2013, o 13:07 przez dexter, łącznie edytowano 2 razy

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 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