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



Teraz jest 21 mar 2026, o 10:09


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 17 lut 2014, o 01:32 
Offline
Użytkownik

Dołączył(a): 30 lis 2013
Posty: 29
Pomógł: 0

Cześć!

Jestem w trakcie tworzenia programu, docelowo chcę przygotować 17 bajtową ramkę, zgodnie z protokołem pewnego programu do odczytu danych (brainbay). Staram się robić go etapowo, ramka docelowo będzie mieć postać:

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


gdzie frame[4] to numer paczki, trzech pierwszych bajtów nie będę tłumaczył bo to nie istotne, kolejne bajty w kolejności frame[5] oraz frame[6] to odpowiednio niższy bajt i wyższy bajt. Do ramki chcę wpisywać dane z ADC (4 kanały, lecz na razie testuję dla 1) i przesyłać do komputera. Napotykam jednak na programistyczny problem - robię to w zły sposób gdyż wyskakują krzaki. Poleceniami
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


nie wpisuję danych do odpowiednich pól tablicy. Jeżeli była by taka możliwość, to ktoś byłby w stanie mi to wytłumaczyć? Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2014, o 01:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 sie 2013
Posty: 795
Lokalizacja: Poznań
Pomógł: 59

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


Późno już i nie wiem czy jeszcze myślę.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2014, o 02:10 
Offline
Użytkownik

Dołączył(a): 30 lis 2013
Posty: 29
Pomógł: 0

Dzięki, ale z rzutowaniem próbowałem i nie działa



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2014, o 02:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 sie 2013
Posty: 795
Lokalizacja: Poznań
Pomógł: 59

A masz pewność, że w ADCL i ADCH masz odpowiednie dane i że te krzaczki nie siedzą w nich przed zapisem do frame[]? Jakiego typu są ADCL i ADCH

Może chodzi o to, że char masz od -128 do 127. Może unsigned char?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2014, o 02:37 
Offline
Użytkownik

Dołączył(a): 30 lis 2013
Posty: 29
Pomógł: 0

Mam pewność, ADCW zwraca wartości 0-1023. Mój problem leży w programistycznych brakach wiedzy związanych z tablicami (od razu uprzedzam pytanie, tak sprawdzałem na google i w ksiązce z C). Przykładowo pomijając ADCL oraz ADCH, przerobiłem sobie funkcje Pana Mirka, aby przetestować zapisywanie danych do tablicy i wysyłanie paczki 17 bajtów:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Wynikiem tego jest ciąg 4563 plus ciąg jakichś innych liczb niezwiązanych z tematem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2014, o 06:11 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

kebs napisał(a):
Wynikiem tego jest ciąg 4563 plus ciąg jakichś innych liczb niezwiązanych z tematem


no i nie dziwne - bo stosujesz podejście jak do wysłania C-stringa, a gdzie w tablicy masz ZERO na końcu ?

wiesz po co w ogóle stosujesz to?

while(*input) ...

?? Wydaje mi się że nie ... ale może się mylę - to wyjaśnij proszę

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2014, o 09:09 
Offline
Użytkownik

Dołączył(a): 30 lis 2013
Posty: 29
Pomógł: 0

while(*input) stosuję aby części składowe tablicy były wysyłane aż do momentu w który ta tablica będzie pusta, pewnie to jest podejście błędne bo na końcu musi być NULL. Siedzę nad tym już długo i nie mam pojęcia jak wczytać poprawnie te uint8_t do tablicy char.......



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 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