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

[C] Jak przekonwertować string z LabView na int w Atmega8 przez RS232?

jaszczomp 07 Paź 2015 22:27 873 3
REKLAMA
  • #1 15050276
    jaszczomp
    Poziom 11  
    Dzień dobry,

    Wysyłam z LabView przez RS232 za pomocą VISA Write dane do mikrokontrolera. Buffor wysyłania w LabView oznaczony jest na kolor różowy (czyli string) w założeniu ma być to liczba z przedziału 0..200. Ten ciąg znaków chce obieram w mojej atmedze i zapisuję w

    volatile unsigned char odb_x; //odebrana liczba X

    w mojej Atmedze8. I teraz najtrudniejsze. Jak przekształcić na wartość typu int, żeby móc ją przekazać jako licznik do pętli.

    Próbowałem już rzutować za pomocą wielu sposobów ale nie chce zatrybić. :/
  • REKLAMA
  • #2 15050316
    jnk0le
    Poziom 18  
    atoi() albo lepiej pełną procedure "przekształcania" stringa.
    W twoim przypadku konieczne jest jednak pełne przekształcanie stringa, w pojedynczym znaku możesz zmieścić do 10/16 liczb. jeśli wystarcza zakres 0...255 to możesz wysyłać bajty binarnie.
  • REKLAMA
  • #3 15050542
    jaszczomp
    Poziom 11  
    Tylko jak wysłać binarnie kiedy LabView wysyła stringa? Tak, taki zakres spokojnie mi wystarczy.
  • #4 15051214
    jnk0le
    Poziom 18  
    Czy LabView pozwala na wysyłanie 1 bajtowych zmiennych to nie wiem, więc pozostaje odczyt stringów.

    Najprostszy jest oczywiście gotowiec


    Można także zastosować coś takiego
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    gdzie uart_gets() wczytuje stringi zgodnie z założeniami projektowymi (separator albo stała długość wysyłanego stringu)
REKLAMA