Tak sobie obserwuję co jakiś czas ten temat i przyznam szczerze, że jestem pełen podziwu dla kolegi autora za upór, tyle że nie w dążeniu do rozwiązania problemu a do skomplikowania go sobie i utrudnienia życia ponad wszelką miarę.
Bartek.k.k napisał: xamrex napisał: Masz rezystor podciągający?
Niektórzy o nim zapominają.
Dla DS18B20? Jeśli tak to nie mam, ponadto nigdy ich nie używałem i wszystko chodziło, tylko teraz układ odmawia współpracy.
Ileż to już razy ja ale nie tylko ja pisałem na elektrodzie, że takie tłumaczenie, że "mi to wcześniej działało więc nie widzę w tym problemu" ..... powoduje tylko wydłużenie drogi do rozwiązania swoich kłopotów w tym zakresie i to na maxa. Bo jeśli działało - to proponuję się na tym oprzeć i już do końca życia tak robić zamiast poprawnie jak radzą inni koledzy. Może jednak kiedyś w końcu na własnych błędach się kolega nauczy - tylko szkoda tego czasu kurka wodna
Bartek.k.k napisał: gaskoin napisał: Bartek.k.k napisał: Układ poprawnie złożony na stykówce
Ja bym jednak mimo wszystko poprosił o jakiś schemat/zdjęcie tego co tam poskładałeś

Jak wstawię zdjęcie, to zostanie ono umieszczone w kategorii największe pająki świata, więc wolałbym tego uniknąć

Schemat wygląda mniej więcej tak(proszę wybaczyć, że w Paincie, ale inaczej jak na razie nie potrafię

).
Uwierz panie kolego, że to zdjęcie pająka byłoby lepsze w tym wypadku i szybciej by ci koledzy pomogli, którzy wypowiadają się w tym temacie niż na podstawie tego hmmm hmmm "schematu" - proszę tylko nie obraź się - ale to nie schemat tylko (znowu się powtórzę) - laurka.
Bartek.k.k napisał:
niestety ale to masakra - i nie chodzi tu o krytykowanie czy wyśmiewanie ale kolega janbernat ma 1000% racji - lepiej byłoby nawet byle jak ale np w Eagle darmowym to narysować. Rozmowa na forum za pomocą schematów to chyba podstawa prawda.
Ale niestety kolega na każdą sugestię jak widać wyżej - broni się rękami i nogami, co powoduje tylko u niego coraz dalsze straty jak widać ale już nie tylko czasu lecz fizycznych części - np palonych na stosie wręcz czujników. Bo co to np jest za tryb PARASITE ??????????????????
sorry ale to jest mistrzostwo świata. Na prawdę gdybym ja miał pomóc to wolałbym już oglądać mega pająka niż takie coś. Bo z tego to tylko można się domyślać wielu dziwnych rzeczy. Sam rysunek (bo przecież nie schemat) wyjaśnia tylko że czujnik jest podłączony jedną swoją nogą do mikrokontrolera bez podciągania (o którym wyżej była mowa) .... ale ten czerwony robaczek to ci dopiero zagwozdka??? co to może oznaczać ??? co kolega miał na myśli? jak i do czego to podłączył - na prawdę extras. A przynajmniej z pająka byłoby widać i można byłoby coś konkretnego podpowiedzieć....
ale nie - po co? przecież pająk jest dobry, połączenia też są dobre, zwarć na stykówce przecież nie ma - no to w czym może być problem ?????? wiadomo - tylko w programie bo przecież nie w tym co ja robię.
Bartek.k.k napisał: ... Wychodzi chyba na to, że mój ciekawski kot zmodyfikował mój układ

No - takie wytłumaczenie to już bardziej rozumiem

ale cóż takiemu zwierzakowi trzeba wybaczyć

przecież jak się spojrzy tymi swoimi dużymi oczami i się "przymizia" to przechodzi złość na niego.
Ale idźmy dalej - w stronę kodu, który oczywiście kolega też oszczędza na maxa. Po pierwsze - to co sam napisałeś (nie te biblioteki bo one na pewno są dobre) - śmiało mógłbyś wkleić w całości a nie takimi wyrywkami, z których już na pierwszy rzut oka widać, że masz także babol na babolu w porównaniu do tego co było opisywane w książce.
Pewnie, że to ważna sprawa żeby umieć sobie poradzić z odpaleniem tego na dowolnym procku. Przecież to zaleta C - ma być łatwo. Ale .....
ale ... jest jedno małe ale
trzeba najpierw niestety przeczytać i co ważniejsze poćwiczyć podstawy tego C. (nie piszę tego z żadną zgryźliwością!) ... bo tak coś czuję, że koledze się jakby śpieszy i rzucił się od razu na głęboką dla siebie wodę - czyli przykłady ze środka albo końca książki - bez opanowania podstaw
widać to właśnie po tych usilnie tajemniczo podawanych rąbkach kodu. Bo wprawdzie ktoś dobrze podpowiedział ci, że ATmega8 nie ma CTC dla timer0 ale ma CTC dla bliźniaczego Timer2 - byłoby ci może ciut łatwiej zamiast robić to na Timer1. Ale jeszcze zanim powiem o błędach to największe zdziwienie mnie jednak ogarnia że kolega mając zestaw - z oryginalnie wlutowanym czujnikiem i co ważne poprawnie skonstruowanym połączeniem z procesorem, z prawidłowym podciąganiem linii DQ do VCC - nie przetestował tego oryginalnego kodu ????? czy nie łatwiej byłoby sobie najpierw to odpalić i potem mieć jakiś punkt odniesienia ??? zamiast - od razu jak mówiłem bez podstaw - rzucić się na przeportowanie na innym procek - a potem na ślepo pytać na forum i ew doszukiwać się błędów w bibliotekach ???? oj oj - oj...
ok babole we fragmentach pokazywanego kodu:
co to jest panie autor: ?????????
Zaloguj się, aby zobaczyć kod
zastanów się - co tym ustawiasz ? czy w ogóle wiesz co ustawiasz i do czego to ma być. Bo z kodu wynika (o ile masz prawidłowo fusy ustawione i rzeczywiście podłączony kwarc 11,0592MHz), że preskaler = 1024, a po wpisaniu wartości 0x36d8 do OCR1A będziesz miał przerwanie od porównania co - UWAGA!!! - 0,77s
czyli co ok
770ms
tak się składa, że to mogłoby nawet działać - ale jednak już takie ustawienia i kod - sugerują, że w porównaniu do tego co było opisane w książce i do czego miał służyć ten timer - to w ogóle tu jakaś herezja się wkradła i widać, że kolega ma spore problemy na tym polu - po czym właśnie śmiem twierdzić, że brak podstaw i np warto byłoby poczytać wcześniejszy rozdział, chociażby o timerach, albo o multipleksowaniu LED gdzie jest na prawdę krok po kroku na przykładzie pokazane jak dobiera się i oblicza we własnym zakresie częstotliwości timerów sprzętowych. Tymczasem jak widzę, wiele osób np do tego rozdziału nie zagląda nawet bo wydaje im się, że po co ???? skoro i tak nie będą zajmować się multipleksowaniem LED albo może tam kiedyś. Tymczasem książka jest tak skonstruowana żeby w odpowiedniej kolejności i na ciekawych przykładach wyjaśniać takie zagadnienia w oparciu o kod programu. Bo teoretycznie - to masz to opisane w setkach książek, tylko często - sama teoria mało przemawia do czytelnika. Jak więc mam przekonywać ludzi, że warto jest czytać tę książkę od deski do deski ? I robić ćwiczenia od deski do deski i po kolei? Bo tylko to da jakieś rezultaty po jakimś czasie?
Ale - ok - proszę kolejny babol w tych fragmentach kodu, bo dalej widzimy:
Zaloguj się, aby zobaczyć kod
czytał kolega notę PDF? albo inaczej - ma kolega otwartą w jednym z okienek notę PDF swojego procka, dla którego pisze ten program??? W książce ja - z uporem maniaka - co chwilę o tym przypominam i nie na darmo. Bo jak widać ta powyższa linijka odblokowuje nam przerwanie od porównania
Timer/Counter1, Output Compare A Match
tymczasem kolega dalej - ze stoickim spokojem pisze kod:
Zaloguj się, aby zobaczyć kod
czyli przygotowuje przerwanie ale dla:
Timer/Counter1, Output Compare B Match
...... więc co tu dużo dalej pisać?
jeśli w programie jest więcej takich "kfiatkóf" ...... to nie dziwota, że po stworzeniu takiej mieszanki:
- brak podciągania linii DQ za pomocą rezystora zewn. do VCC
- mega przedziwny tryb parasite
- brak przekazania na forum porządnego schematu tego co sam tworzysz
- błędów we własnym (zaznaczam we
własnym) programie
otrzymujemy mieszaninę wybuchową do unicestwiania scalaczków DS18B20 w najlepszym przypadku.
reasumując - żeby koledze na prawdę szybko i sprawnie pomóc tu na forum to:
1. trzeba podać poprawnie narysowany schemat tego co masz w rzeczywistości na swojej stykówce (ale już bez laurek)
2. pokazać zdjęcia tego ustrojstwa (najwyżej uporządkować i uczesać pająka przed sesją zdjęciową - bo przecież każdego pająka można ładnie zrobić - tylko trzeba po prostu chcieć)
3. zrób prawidłowe zewn. podciąganie
4. popraw w kodzie to co opisałem wyżej
5. POKAŻ cały swój kod do obsługi (bez kodu tych bibliotek bo to niepotrzebne tu w ogóle)
..... tylko nie mów proszę, że zanim się nauczysz rysować schematów w Eagle to minie za dużo czasu a ty go nie masz i chciałbyś JUŻ, TERAZ - ZA CHWILĘ. Bo jak sam widzisz, przez ten pośpiech i tak tracisz ten cenny czas w o wiele większych ilościach na takie poszukiwania błędów. A nie wspomnę już o poczytaniu podstaw C i konfiguracji chociażby timerów. Bo na prawdę bez ironii żadnej !!! aż szkoda patrzeć, że się tak męczysz - podczas gdy masz w zasięgu ręki wszystko po kolei opisane - tylko czytasz i ćwiczysz wspak - stąd takie a nie inne efekty.
uuffff ale się rozpisałem.