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



Teraz jest 29 mar 2024, o 05:53


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 
Autor Wiadomość
PostNapisane: 26 maja 2015, o 14:04 
Offline
Użytkownik

Dołączył(a): 18 maja 2015
Posty: 79
Pomógł: 0

Cześć

Nie rozumiem kodu z mirka książki o różnicowym pomiarze napięcia proszę o wytłumaczenie tego problemu.
1.O co chodzi z tym
srednia=srednia*fil;
srednia=srednia+(((256*value*100)/(2*1024))*450);
srednia=srednia/(fil+1);

value-wartość adc z różnicowego wzmacniacza.
2.Funkcja do konwersji liczby na łańcuch tekstowy.
W tej funkcji mirek robi tak:
div_t divmod=div(val,10);//Struktura
if((val==0)&&(strp!=str))
{
*strp++=znak_wiodacy;
}

Proszę o pomoc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 maja 2015, o 19:27 
Offline
Użytkownik

Dołączył(a): 18 maja 2015
Posty: 79
Pomógł: 0

Czy mółby mi ktoś pomóc albo naprowadzić na właśćciwą scieżkę



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 maja 2015, o 21:27 
Offline
Moderator
Avatar użytkownika

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

1. obejrzyj moją serię wideo poradników o ADC na YT - tam to wyjaśniam dokładniej pod koniec i podaję nowe przykłady

2. wstawiamy zera jako znaki wiodące (przed liczbą)

_________________
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: 28 maja 2015, o 16:20 
Offline
Użytkownik

Dołączył(a): 18 maja 2015
Posty: 79
Pomógł: 0

No dobra ale później zmieniasz kolejność za pomocą funkcji stres czyli będzie na końcu??? A czy mógłbyś mi powiedzieć dokładnie co sprawdzasz w warunku of w punkcje2 jak ona działa



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 maja 2015, o 20:33 
Offline
Moderator
Avatar użytkownika

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

jeśli val=0 i wskaźnik strp różny od wskaźnika str to wstaw znak wiodący

_________________
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: 30 maja 2015, o 08:56 
Offline
Użytkownik

Dołączył(a): 18 maja 2015
Posty: 79
Pomógł: 0

Ale przecież kiedy jest już wszystko jest zapakowane do bufora to wstawiasz zero a póżniej odwracasz wszystko to zero będzie w takim razie na początku a nie na końcu tak samo z znakami wiądącymi będzie i będą na końcu???



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 maja 2015, o 09:31 
Offline
Moderator
Avatar użytkownika

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

squelch napisał(a):
Ale przecież kiedy jest już wszystko jest zapakowane do bufora to wstawiasz zero a póżniej odwracasz wszystko to zero będzie w takim razie na początku a nie na końcu tak samo z znakami wiądącymi będzie i będą na końcu???

Czy ty próbowałeś ten sposób ? u siebie w procku ? na żywym organizmie ? czy tylko teoretyzujesz - twierdząc, że to nie będzie działać ? Weź pan procka w rękę i sprawdź - później się dwa albo trzy razy zastanów i dopiero wtedy zapytaj, którego miejsca nie rozumiesz. Wtedy też łatwiej będzie ci coś pomóc - bo teraz to ty zaczynasz mi coś tłumaczyć ? czy pytasz ?

_________________
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: 30 maja 2015, o 10:05 
Offline
Użytkownik

Dołączył(a): 18 maja 2015
Posty: 79
Pomógł: 0

Ok już rozumiem
Ale tej linijki nie mogę zrozumieć srednia=srednia+(((256*value*100)/(2*1024))*450);



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 maja 2015, o 11:46 
Offline
Moderator
Avatar użytkownika

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

Już mówiłem tobie w którymś wątku - obejrzyj sobie ten cykl:
https://www.youtube.com/playlist?list=P ... 5hRnig_f23

to zrozumiesz (w ostatnich odcinkach omawiam właśnie różne sposoby uśredniania i ten jest rozwinięty szerzej niż w książce)

_________________
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: 30 maja 2015, o 14:42 
Offline
Użytkownik

Dołączył(a): 18 maja 2015
Posty: 79
Pomógł: 0

rozumiem usrednianie tylko nie rozumiem tej konwersji adc na wartosc napiecia
(((256*value*100)/(2*1024))*450);



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 maja 2015, o 15:32 
Offline
Moderator
Avatar użytkownika

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

Opisywałem to w książce - szukałem tam zdaje się jakiegoś współczynnika żeby dobrze skalibrować pomiar napięcia - ale jeszcze raz ci powtarzam, O WIELE LEPSZĄ METODĘ na to pokazałem w cyklu poradników

_________________
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: 31 maja 2015, o 10:58 
Offline
Użytkownik

Dołączył(a): 18 maja 2015
Posty: 79
Pomógł: 0

No dobra no to policzmy

5A-na boczniku 0,1om będzie 0,5 a na rezystorach o podziale 4 będzie 0,1222 czyli adc będzie pokazywało 978

Teraz ten wzór
(((256*978*100)/(2*1024))*450)=coś
póżniej dzielisz to przez milion czyli mamy 5768478,72 czyli mamy 5768478+ reszta obliczona ze struktury div_t
o co tu chodzi?????



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 maja 2015, o 14:46 
Offline
Moderator
Avatar użytkownika

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

A z div przez ile jeszcze dziele ?

_________________
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: 31 maja 2015, o 15:23 
Offline
Użytkownik

Dołączył(a): 18 maja 2015
Posty: 79
Pomógł: 0

v1=srednia/1000000
divmod=div(srednia/1000,1000)
v2=divmod.rem
no a póżniej wysyłasz v1 i v2 czyli v1 będzie miało coś/1000000=5768478,72//ale rzytowanie więc bez przecinka

a v2 przechowuje reszte z dzielenia przez tysiąc ale będzie rzutowanie no i znowu przez tysiąc czyli 3 miejsca po przecinku co jest grane :?: :?: :?:



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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