logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Bascom/Atmega - Odbiór danych HEX z czujnika PMS3003 - problem z dekodowaniem

Elektronik_Kraków 22 Paź 2017 00:02 792 6
REKLAMA
  • #1 16770944
    Elektronik_Kraków
    Poziom 13  
    Witam
    Mam taki moduł jak w tytule. Niestety praktycznie nic o nim nie ma, poza krótką dokumentacją techniczną.

    Moduł po podłączeniu zaczyna od razu pracować i wysyłać dane typu HEX
    42 4D 00 14 00 88 00 D2 00 FD 00 5A 00 8A 00 A8 16 24 00 8E 91 00 05 DF

    gdzie:
    kolejność bajtów z czujnika
    pm_1_0_lsb - 12, Pm_1_0_msb - 11
    pm_10_lsb - 16 , Pm_10_msb - 15
    pm_2_5_lsb - 14 , Pm_2_5_msb - 13

    problem jest z odbiorem przez Atmega.

    W terminalu, gdy jest ustawiony w trybie ASCII wychodzi sieczka - taka jak na obrazku poniżej. Zawsze rozpoczynająca się od liter BM
    Bascom/Atmega - Odbiór danych HEX z czujnika PMS3003 - problem z dekodowaniem
    Podobnie wyświetla Atmega na LCD.

    Próbowałem różnie to odbierać
    Input
    Inputbin
    inputhex

    jednak cały czas odbiera dziwne wartości.
    Bytematch nie ma za bardzo jak użyć, bo zakończenie linii się zmienia - przynajmniej Realterm tak pokazuje.
    Bascom/Atmega - Odbiór danych HEX z czujnika PMS3003 - problem z dekodowaniem

    Jakieś pomysły ?
  • REKLAMA
  • #2 16771002
    kamyczek
    Poziom 38  
    Ja mam jeden podpiąć analizator np. saleae i ustalić prawidłową prędkość i parametry ramki parzystość itp. Sieczka to zazwyczaj wynik nieprawidłowych parametrów odbiornika .
  • REKLAMA
  • #3 16771006
    Ture11
    Poziom 39  
    Ale jaka sieczka? Dostajesz dane w HEX, a w terminalu wyświetlają się ASCII... Wszystko jest w porządku.
  • REKLAMA
  • #4 16771331
    Elektronik_Kraków
    Poziom 13  
    Według pdf parametry UART to:
    9600 bps
    Check bit: None
    Stop bit:1 bit

    wysyła 24 bajty ze spacjami, pierwsze dwa są stałe, później długość ramki i dane.
    Kiedyś wysyłałem dane do playera TF16, gdzie format danych był taki sam i robiłem to przez printbin. Teraz wydawało mi się, że Inputbin załatwi sprawę. Wiem jakie są parametry, tylko nie wiem jak to poprawnie odebrać.
  • #5 16771430
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #6 16771572
    Elektronik_Kraków
    Poziom 13  
    Tak działa
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod


    dodałeś sprawdzanie ramki, bo ja próbowałem z:
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod



    ale trzeba "trafić " w ramkę lub wprowadzić sprawdzanie bajtów kontrolnych
  • #7 16771637
    Konto nie istnieje
    Konto nie istnieje  
REKLAMA