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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 20 maja 2025, o 02:07


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
    Autor Wiadomość
    PostNapisane: 14 gru 2015, o 13:18 
    Offline
    Nowy

    Dołączył(a): 24 lip 2015
    Posty: 19
    Pomógł: 0

    Witam, mam problem z konwersją znaków char w tablicy dane[], gdyż od 11 do 20 elementu znajduje się moja liczba, a chce poszczególne elementy zmienić na int, podnieść do potęgi i otrzymać sumę, czyli tą liczbę w int. Pytanie gdzie tu jest błąd? W tablicy dane[] elementy są ok
    Kod:
    for(licz=11;licz>=20;licz++)
                    {
                      int daneint=atoi(&dane[licz]);
                      czasinter+=(daneint*pow(10,licz-11));
                     
                    }



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 gru 2015, o 13:33 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 sty 2012
    Posty: 777
    Lokalizacja: Karpicko k. Wolsztyna
    Pomógł: 197

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


    a powinieneś chyba mieć tak
    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: 14 gru 2015, o 13:54 
    Offline
    Nowy

    Dołączył(a): 24 lip 2015
    Posty: 19
    Pomógł: 0

    tak, przy zmienianiu zapomniałem przy wrzucaniu tutaj, fakt, ale nadal przy np dane[] 11, 12, 13 elemencie są kolejno wartości 2, 3, 4, powinno wyświetlić 234, a wyświetla 974, czyli zmienna czasinter :/
    @edit, to może inaczej. W takim programie po wpisaniu w konsoli 1234
    Kod:
    void loop()
      { 
       if(Serial.available())
          {
            int znaki=Serial.available();
            Serial.readBytes(dane, 20);   
            int daneint=atoi(dane);
            Serial.println(daneint);
    }
    }

    otrzymuję
    Kod:
    234
    574
    974
    974
    974
    974
    974
    974
    974
    974

    Dlaczego nie 1234?



    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: 3 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO