ATNEL tech-forum
https://forum.atnel.pl/

Pomiar temperatury - DS18B20 poprzez UART
https://forum.atnel.pl/topic19648.html
Strona 1 z 1

Autor:  janek9971 [ 18 lis 2017, o 20:59 ]
Tytuł:  Pomiar temperatury - DS18B20 poprzez UART

Witam,

Zaprogramowałem swój uC do obsługi UART (z pomocą greenbooka) w ten sposób, iż wysyłając komendy ustawiam czy dany pin jest wyjściem lub wejściem oraz sterować wszystki portami jednocześnie czyli wystawiać jeden lub 0. Obsługuje też odbiór danych. Teraz nasuwa się pytanie czy bez dodania czegokolwiek do kodu w C jestem w stanie obsłużyć taki czujnik przy pomocy wysyłania do uarta. Oczywiście musiałbym jakoś jeszcze obsługiwać rozkazy oraz dodać timery programowe które mogłyby być wybierane przez użytkownika poprzez odpowiedni rozkaz przez uarta. Ale coś mi się wydaje, że jest to bardzo trudne albo nie możliwe. Co o tym sądzicie?

Autor:  icer_cmg [ 18 lis 2017, o 21:44 ]
Tytuł:  Re: Pomiar temperatury - DS18B20 poprzez UART

w greenbooku masz parsowanie danych z uart. robisz np. at+sett=2 i masz jako ustaw timer na 2s.

Co do stwierdzenia
janek9971 napisał(a):
czy bez dodania czegokolwiek do kodu w C
średnio wiem o co biega. Musisz obsłużyć odczyt temperatury i wysyłanie wyniku. Mając GB wszystko o czym piszesz to 10 minut pracy.

W skrócie - bierzesz kod od parsowania komend AT, zmieniasz komendy pod siebie, doklejasz obsługę ds18b20 i masz.

Autor:  janek9971 [ 18 lis 2017, o 22:11 ]
Tytuł:  Re: Pomiar temperatury - DS18B20 poprzez UART

No właśnie ale mi chodziło o to czy bez dodawania bibliotek od czujnika temperatury jest możliwy taki odczyt. Coś w rodzaju uniwersalnego UART, że podpinam sobie czy to czujnik temperatury, klawisz, diode, silnik czy coś innego mogę tym sterować bez zmieniania już programu wgranego na atmege.

icer_cmg napisał(a):
Mając GB wszystko o czym piszesz to 10 minut pracy.


10 minut pracy dla kogoś kto w tym siedzi, a nie dla tego co nie całe 2 tygodnie się tym bawi :D

icer_cmg napisał(a):
w greenbooku masz parsowanie danych z uart. robisz np. at+sett=2 i masz jako ustaw timer na 2s.


Ja w greenbooku widzę 6 komend AT ale nie widziałem tam obsługi AT+SET .

Autor:  Daro69 [ 19 lis 2017, o 01:15 ]
Tytuł:  Re: Pomiar temperatury - DS18B20 poprzez UART

hmm.. koledze chyba chodzi o symulację transmisji 1wire za pomocą uarta. :)
no nie . ;) tak nie przejdzie , bo komunikacja 1wire jest obustronna - tzn jeden pin jest i wejściem za chwilę wyjściem . i to z określoną częstotliwościa. :)
Jeżeli o to chodzi, to tak się nie da, trzeba najpierw wysłać dane do czujnika po 1wire, a za chwilę odczytać tym samym pinem !, a dopiero potem wynik można przesłać uartem ;)
ale kombinuj, bo podobno- :
" jeżeli chcesz zrobić coś nie wykonalnego, to zleć to komuś kto o tym nie wie. " :)
pozdrawiam z lochów. ;)

Autor:  micky [ 19 lis 2017, o 07:33 ]
Tytuł:  Re: Pomiar temperatury - DS18B20 poprzez UART

Nie wiem czy koledze nie chodzi o to by komendami UART sterować/odczytywać jeden z konkretnych pinów procka - takie 'banglowanie' pinami jak w programatorach uniwersalnych?

Autor:  janek9971 [ 19 lis 2017, o 16:59 ]
Tytuł:  Re: Pomiar temperatury - DS18B20 poprzez UART

micky napisał(a):
Nie wiem czy koledze nie chodzi o to by komendami UART sterować/odczytywać jeden z konkretnych pinów procka - takie 'banglowanie' pinami jak w programatorach uniwersalnych?

Tak. Coś w tym stylu tylko nie wiem właśnie czy z moją znajomością atmegi (choć w C trochę już siedzę i w innych językach) się na to porywać, bo coś mi się wydaje , że to dość trudne przedsięwzięcie.

@Daro69
Co do tego to po prostu chodzi o to, żeby w pewnym stopniu sterować uC przy pomocy UARTA używając jakiś rozkazów w postaci znaków ascii które są obsługiwane przed kod w C.


PS. Jeszcze raz się zapytam o tym co pierwsza osoba tutaj odpowiedziała, że można ustawiać timer AT+SET w greenbooku, ja w kodach z pendrive i w książce tego nie widzę, dlatego chciałem napisać sam ale fajnie by było jakby ktoś podpowiedział gdzie jest tego implementacja to by uprościło sprawę.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/