Witam serdecznie kolegów forumowiczów.
Siedziałem trochę nad moim problemem, próbowałem rozwiązać go samodzielnie, a gdy się nie udawało zacząłem szukać informacji na temat odczytu temperatury z czujnika DS1820 (NIE DS18b20).
Mój problem polega na tym, że na wyświetlaczach 7-mio segmentowych zamiast temperatury świecą nie te diody, które powinny. Co ciekawe, gdy każę uP wyświetlić na nich kolejne liczby to jest wszystko ok, tzn wyświetlają się poprawni. W związku z czym wnioskuję, że obsługę LED napisałem dobrze.
Obsługę one wire napisałem opierając się (a w zasadzie kładąc się) na w 100% działającej (tej w załączniku). Poza tym są wszelkie przesłanki ku temu, że jednak połączenie po one wire jest poprawne.
Zamieszczam moją pętlę z funkcji main:
Nie mogę dojść do porozumienia z moim DS1820.
W takim razie czy mógłby ktoś z szanownych forumowiczów wskazać mi drogę? Będę zobowiązany. W razie gdyby brakowało jakiś danych proszę mnie nie linczować - niezwłocznie dołożę to, co trzeba.
Edit:
1. tmp1 jest typu unsigned char.
2. gdy ustawię maskę na 0b00111111 to wyświetlacz pokazuje 63 (czyli te wszystkie jedynki)
3. Gdy maska jest w całości: 0b01111111 pojawiają się jakieś krzaki. Mogę wywnioskować, które bity są włączone wówczas będę wiedział co przekazuje DS do uC ale to i niewiele zmienia w tym przypadku.
Prowizję dla pliku wyłączono, gdyż jest on elementem przedstawionego problemu.
LordBlick
++Edit:
Zmieniłem czujnik na DS18b20 i nadal jest to samo - lecą same jedynki. Czy mógłby ktoś zerknąć czy kod programu jest ok?
++Edit:
Serio nikt nic?
Siedziałem trochę nad moim problemem, próbowałem rozwiązać go samodzielnie, a gdy się nie udawało zacząłem szukać informacji na temat odczytu temperatury z czujnika DS1820 (NIE DS18b20).
Mój problem polega na tym, że na wyświetlaczach 7-mio segmentowych zamiast temperatury świecą nie te diody, które powinny. Co ciekawe, gdy każę uP wyświetlić na nich kolejne liczby to jest wszystko ok, tzn wyświetlają się poprawni. W związku z czym wnioskuję, że obsługę LED napisałem dobrze.
Obsługę one wire napisałem opierając się (a w zasadzie kładąc się) na w 100% działającej (tej w załączniku). Poza tym są wszelkie przesłanki ku temu, że jednak połączenie po one wire jest poprawne.
Zamieszczam moją pętlę z funkcji main:
Kod: C / C++
Nie mogę dojść do porozumienia z moim DS1820.
W takim razie czy mógłby ktoś z szanownych forumowiczów wskazać mi drogę? Będę zobowiązany. W razie gdyby brakowało jakiś danych proszę mnie nie linczować - niezwłocznie dołożę to, co trzeba.
Edit:
1. tmp1 jest typu unsigned char.
2. gdy ustawię maskę na 0b00111111 to wyświetlacz pokazuje 63 (czyli te wszystkie jedynki)
3. Gdy maska jest w całości: 0b01111111 pojawiają się jakieś krzaki. Mogę wywnioskować, które bity są włączone wówczas będę wiedział co przekazuje DS do uC ale to i niewiele zmienia w tym przypadku.
Prowizję dla pliku wyłączono, gdyż jest on elementem przedstawionego problemu.
LordBlick
++Edit:
Zmieniłem czujnik na DS18b20 i nadal jest to samo - lecą same jedynki. Czy mógłby ktoś zerknąć czy kod programu jest ok?
++Edit:
Serio nikt nic?