Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[STM32F4][DS18B20] - Pytanie o poprawność kodu

Zaaaaap 19 Lut 2014 19:27 1275 2
  • #1 19 Lut 2014 19:27
    Zaaaaap
    Poziom 8  

    Witam,

    mecze się z DS18B20. Naskrobałem poniższy kod ale wydaje się działać połowicznie. Ale po kolei, pierwsze co robię to ONE_WIRE_Init (), a potem ONE_WIRE_Read_Tmp(). I przy tej drogiej funkcji mam problem bo zwraca ona za każdym razem 0x0808 (jak by komendy nie zmienić zawsze tak samo, a nawet bez komend). ONE_WIRE_Init_Sequence() działa poprawnie tj wskazuje że DS18B20 się odezwał. Starałem się to wszystko napisać zgodnie z dokumentacją, ale może gdzieś popełniłem błąd którego nie widzę. Port na pewno jest inicjowany poprawnie bo sprawdziłem podczas debugowanie. Pod spodem jeszcze funkcja Delay() której używam( też wydaje się działać prawidłowo ), na początku bloku dodałem ustawienia zegara.

    Dziękuje.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 2
  • #2 19 Lut 2014 20:03
    tadzik85
    Poziom 38  

    Timery mają taki fajny tryb jak OPM one pulse mode....
    Buforowanie ARR można wyłączyć, więc update nie będzie konieczny....

    Podoba mi się ten mix SPL i nie SPL :D

    0
  • Pomocny post
    #3 19 Lut 2014 23:25
    Zaaaaap
    Poziom 8  

    Mam ! :) jakim cudem mogłem nie zwrócić uwagi na ostrzeżenie kompilatora że funkcja ma zwracać a nie zwraca.

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0