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



Teraz jest 19 sty 2025, o 07:35


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 26 kwi 2020, o 17:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2017
Posty: 559
Pomógł: 0

Witam.

Pytanie moje polega na lepszym zrozumieniu - struktur , wskażników , łańcuchów tekstowych poprzez ćwiczenia z wspaniałą biblioteką z żółtej książki.
Ćwiczenie polega na wysyłanie i odbiór smsa z modułu GSM FIBO.
Przepraszam jeśli nie powinienem pokazywać fragmentu biblioteki to przepraszam i zaraz skasuję pytanie.

Jest stożona struktura :

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



Natomiast odczytuję tą zmienną w funkcji pokaże może tylko interesujący mnie fragment:

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


Jak wyśle smsa to treść wpada do zmiennej tekstowej - char text[ RX_SMS_BUF_SIZE+1 ]; czy dobrze to rozumuję i nazywam?

funkcja void show_new_sms( TNEWSMS * asms ) - przyjmuje argument asms ze wskażnikiem struktury TNEWSMS i teraz pytanie co to za wartość : ( asms->text )???
czy teraz co to jest text ? czy to jest zmienna ? co to jest?

Może bardziej zapytam podając przykład jak wyślę smsem literkę A to co w końcowym wyniku podanego przykładu się dzieję?? czy to jest zmienna tekstowa przyjmuje text?
Bo jeśli tak to mam kolejne dalsze pytanie jak zamienić tą literkę A będącą zmienną tekstową na kod ASCI tej literki A i przekazanie wartości kodu ASCI do zmiennej np uint8_t stan . ?

A o co mi chodzi mógłbym za pomocą sms ustawiać np 8 wyjść całego portu czy coś załączać i wyłączać np światło w mieszkaniu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 kwi 2020, o 19:59 
Offline
Użytkownik

Dołączył(a): 11 sty 2015
Posty: 166
Pomógł: 24

AKSELINEK napisał(a):
i teraz pytanie co to za wartość : ( asms->text )???
czy teraz co to jest text ? czy to jest zmienna ? co to jest?

asms->text to jest w sumie to samo co asms.text, czyli odwołanie do pola text w strukturze asms.
Różnica jest taka że -> używamy zamiast . we wskaźnikach.

------------------------ [ Dodano po: 13 minutach ]

AKSELINEK napisał(a):
A o co mi chodzi mógłbym za pomocą sms ustawiać np 8 wyjść całego portu czy coś załączać i wyłączać np światło w mieszkaniu.

To chyba nie jest dobry pomysł. Jeżeli masz jeden pin to OK. możesz wysłać 1 lub 0. Natomiast przy 8 bitach masz 256 kombinacji, literek Ci braknie. Chyba już lepiej to wysłać jako liczbę binarną, czyli ciąg ośmiu 0 i 1, lub nawet w systemie trójkowym. 0 - zgaś, 1 - zapal, 2 - zmień stan na przeciwny. Wtedy łatwo się do tego odwołasz przez asms->text[i], i bez problemy wysterujesz odpowiednie piny.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 kwi 2020, o 20:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2017
Posty: 559
Pomógł: 0

Aha to znaczy że zmienna asms->text to jest zmienna tekstowa text wyuskana ze struktury asms?
Jeśli tak to znaczy że jak wyślę sms o treści A a potem odczytam kod asci :

stan=asms->text[0]; to stan = 65 i odejmę 65 to mam wynik 0 a jak wyśle B to mam stan=66 i odejmę 65 to mam 1 , tzn że jak wyśle A to stan jakiegoś wyjścia mogę wyłączyć ,
wysyłając B załączyć? i co takie by to było proste????

------------------------ [ Dodano po: 4 minutach ]

Acha... rozumiem czyli wysłać np ciąg znaków jednym smsem np 01001010 i mam ustawione wyjście od lewej 2,5,7 czy dobrze zrozumiałem?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 kwi 2020, o 20:29 
Offline
Użytkownik

Dołączył(a): 11 sty 2015
Posty: 166
Pomógł: 24

Nawet nie musisz odejmować możesz od razu sprawdzić if('A'==asms->text[0]){}

------------------------ [ Dodano po: kilkunastu sekundach ]

AKSELINEK napisał(a):
Acha... rozumiem czyli wysłać np ciąg znaków jednym smsem np 01001010 i mam ustawione wyjście od lewej 2,5,7 czy dobrze zrozumiałe

Dokładnie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 kwi 2020, o 20:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2017
Posty: 559
Pomógł: 0

Kurcze to ja już dwa lata kombinuje jak to zrobić a to będzie chyba realne dzięki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 kwi 2020, o 20:34 
Offline
Użytkownik

Dołączył(a): 11 sty 2015
Posty: 166
Pomógł: 24

Powiedziałbym, że nie tylko realne a nawet proste.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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