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



Teraz jest 26 kwi 2026, o 05:18


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
Autor Wiadomość
PostNapisane: 9 cze 2015, o 19:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 maja 2015
Posty: 41
Pomógł: 0

Witam,
na początku chciałbym przeprosić za moje zachowanie w poprzednich postach.
Chcąc pobrać temperaturę z czujnika DS18B20 stworzyłem biblioteki:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Cytuj:
#define F_CPU 16000000UL // <----- bzdura nad bzdurami - NIGDY nie piszemy tego w kodzie programu! - mirekk36


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

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

Problem polega na tym, że na wyświetlaczu wyświetlają się same jedynki.
Za każdą pomoc z góry dziękuje.
Pozdrawiam,
Olaw



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2015, o 19:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

F_CPU. afee usuń to i zadeklaruj taktowanie we właściwościach projektu.

Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2015, o 19:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 maja 2015
Posty: 41
Pomógł: 0

majster napisał(a):
F_CPU. afee usuń to i zadeklaruj taktowanie we właściwościach projektu.

Namazane ze smarta.

Mam Atmel Studio - według mnie jest lepszy od eclipse



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2015, o 19:40 
Offline
Moderator
Avatar użytkownika

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

Olaw napisał(a):
Mam Atmel Studio - według mnie jest lepszy od eclipse

Możesz używać nawet COSMIC STUDIO które też jest lepsze od eclipse ale - to co piszesz czyli te bzdury w kodzie

Cytuj:
#define F_CPU 16000000UL // <----- bzdura nad bzdurami - NIGDY nie piszemy tego w kodzie programu! - mirekk36


świadczy tylko o tym, że nawet swojego Atmel Studio za grosz nie znasz .... Tymczasem pisanie tego w kodzie to mega totalna BZDURA i nawet w Atmel Studio się tego nie robi .... robi się inaczej ....

Więc proszę zapamiętaj to, i zapamiętaj też że na tym forum nie piszemy TAKICH BZDETÓW w kodzie ok ? to na razie jest tylko gorąca prośba i poprawiam wyżej te bzdury. Ale jeśli kolejny raz na tym forum będziesz to pisał - to sam wiesz co hmmmm?

_________________
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: 9 cze 2015, o 19:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 maja 2015
Posty: 41
Pomógł: 0

Dziękuję, F_CPU będę kasować przy wstawianiu na forum.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2015, o 19:48 
Offline
Moderator
Avatar użytkownika

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

to kasuj - bo tu ludzie uczą się jak programować, dlatego tępimy bzdury ... A sam sobie w swoim kodzie rób co tam tylko zechcesz.

_________________
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: 9 cze 2015, o 20:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Olaw napisał(a):
Dziękuję, F_CPU będę kasować przy wstawianiu na forum.

Przenieś tę definicję do właściwości projektu, a nic specjalnie nie będziesz musiał kasować.

Właściwości projektu (ALT+F7) -> Toolchain -> AVR/GNU C Compiler -> Symbols
W ramce "Defined symbols (-D)" naciśnij przycisk z zielonym plusem i wpisz w nowym oknie "F_CPU=16000000" (bez cudzysłowów).

Obrazek


Wracając do Twojego problemu, ja tu wcale nie widzę głównej funkcji programu "int main()"...



Ostatnio edytowano 9 cze 2015, o 20:09 przez atmel, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2015, o 20:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 maja 2015
Posty: 41
Pomógł: 0

Dzięki atmel.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2015, o 22:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Olaw napisał(a):
Dzięki atmel.

Tak naprawdę nie masz za co dziękować no ale ok ....

Co mnie mierzi w twoim kodzie linia 33, 40 i tym podobne czyli DELAY

po co zawieszać procka jak można to zrobić na timerach

atmel napisał(a):
Wracając do Twojego problemu, ja tu wcale nie widzę głównej funkcji programu "int main()"...


no niestety ja też nie więc wytykam błędy te które widzę ... a tych których nie widzę to o nich nie myślę :oops: bo bym się taki zrobił :)


a tak na poważnie to pozbądź się delay'ów i daj główną funkcję programu jeżeli ktoś ma pomóc.

----------------------
Pozdrawiam Tomek

_________________
Usługi druku przestrzennego - www.drumik.pl



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

Dołączył(a): 19 maja 2015
Posty: 41
Pomógł: 0

No tak, pan Mirek napisał, żeby nie używać delayów, lecz nie potrzebuje multipleksowania, bo sam program nie jest złożony.
Oto kod(wiem, że bardzo się przyda):
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: 11 cze 2015, o 15:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 maja 2015
Posty: 41
Pomógł: 0

To... ktoś pomoże pls?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2015, o 22:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

W zasadzie strzelam, ale może spróbuj w linii 33 zmienić opóźnienie z 2ms na 750ms (czas konwersji dla tego typu czujnika), a linię 40 rozbij na 2 "delay'e":

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: 11 cze 2015, o 23:54 
Offline
Użytkownik

Dołączył(a): 29 lip 2014
Posty: 195
Pomógł: 44

Witam,

nie obraź się, Olaw, ale to co napisałeś, nie ma żadnych szans działać. Zajrzyj do PDF -a, DS18B20 i zwróć uwagę na timingi, bo u Ciebie:

1. Nie ma resetu 1-wire ( piszę z pamięci - "1" logiczna min 480us, "0" też mniej więcej tyle ).
2. Jeśli coś wysyłasz do czujnika, to poszczególne bity też muszą mieć określoną "długość" , a Twoja funkcja writebyte na pewno tego nie zapewnia.
3. Przy odczycie danych timingi dla poszczególnych bitów są również krytyczne, między bitami już nie - tu sobie można pofolgować.
4. I na koniec zagadka: jak myślisz, jaki będzie stan wyjścia, na którym masz czujnik, po wykonaniu tego wyrażenia :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Reasumując, na Twoim miejscu najpierw przeanalizowałbym dokładnie PDF-a, później jakąś "obcą" bibliotekę i dopiero na jej podstawie od nowa napisałbym swoją.

Pozdrawiam, QuadMan.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 cze 2015, o 19:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 maja 2015
Posty: 41
Pomógł: 0

QuadMan napisał(a):
Witam,

nie obraź się, Olaw, ale to co napisałeś, nie ma żadnych szans działać. Zajrzyj do PDF -a, DS18B20 i zwróć uwagę na timingi, bo u Ciebie:

1. Nie ma resetu 1-wire ( piszę z pamięci - "1" logiczna min 480us, "0" też mniej więcej tyle ).
2. Jeśli coś wysyłasz do czujnika, to poszczególne bity też muszą mieć określoną "długość" , a Twoja funkcja writebyte na pewno tego nie zapewnia.
3. Przy odczycie danych timingi dla poszczególnych bitów są również krytyczne, między bitami już nie - tu sobie można pofolgować.
4. I na koniec zagadka: jak myślisz, jaki będzie stan wyjścia, na którym masz czujnik, po wykonaniu tego wyrażenia :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Reasumując, na Twoim miejscu najpierw przeanalizowałbym dokładnie PDF-a, później jakąś "obcą" bibliotekę i dopiero na jej podstawie od nowa napisałbym swoją.

Pozdrawiam, QuadMan.

Dzięki, pisząc program przypuszczałem, że na 100% nie będzie działać.
Mam lekkie trudności z czytaniem pdf'a DS18B20.
Co do zagadki to:
if(bit) stan wysoki na pinie DQ.

Pozdrawiam,
Olaw



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 cze 2015, o 21:22 
Offline
Użytkownik

Dołączył(a): 29 lip 2014
Posty: 195
Pomógł: 44

Witam.

Zacznijmy może od końca ;-). Co do zagadki, to masz rację, ale jeśli ( w pseudokodzie):

if(bit) stan wysoki na pinie DQ // ustali się stan wysoki na pinie DQ,

to po ustaleniu się stanu wysokiego na pinie DQ, zmiana stanu bit na zero wcale nie zmieni stanu wyjścia DQ na stan niski - domyślam się, ze taki był Twój zamysł. Masz sumę logiczną, a 1|0 to dalej 1 niestety ;-).
Jeśli już tak, to :

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


Nie bardzo mogę tu wkleić sprawdzoną bibliotekę do DS18B20, której używam - za bardzo jest podobna do biblioteki Mirka z BB, ale chwila szukania i: http://siwawi.bauing.uni-kl.de/avr_projects/tempsensor/ tu masz bibliotekę, która ma szansę działać. Przejrzałem ją tylko pobieżnie, ale wygląda na ok, może jej się przyjrzyj. Co do PDF-a do DS18B20, czego konkretnie nie rozumiesz ?

Pozdrawiam QuadMan.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 cze 2015, o 09:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 maja 2015
Posty: 41
Pomógł: 0

Dzięki,
co do bibliotek z BlueBooka to dosyć trudne są do analizy. Mam też zarzuty do czytelności kodu, ale to już moja indywidualna sprawa.
W każdym razie dzięki QuadMan, spróbuje to niedługo wyświetlić na LCD'eku od nokii 5510(sterownik PCD8544), na razie jednak będę się bawić w programowy RTC i HC-SR04(ultradźwiękowy czujnik odległości).

Pozdrawiam,
Olaw



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 cze 2015, o 10:22 
Offline
Moderator
Avatar użytkownika

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

Olaw napisał(a):
Mam też zarzuty do czytelności kodu, ale to już moja indywidualna sprawa

Przy takim podejściu do nauki programowania w C jakie prezentujesz chociażby tylko tu w tym wątku - to nie dziwię się, że masz indywidualne podejście ...

mokrowski napisał(a):
Liczę że opublikujesz rozwiązanie czytelniejsze.

Ja też dołączam do tej prośby ... i to wcale nie ironicznie .... miło byłoby zobaczyć bardziej czytelny kod w twoim wykonaniu Olaw ... Myślę, że gdybyś się za to zabrał - ale tak na poważnie a nie tylko "w gadaniu" to już sam zrobiłbyś niechcący ogromne postępy - czego ci życzę.

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 12 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