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



Teraz jest 27 lis 2024, o 20:07


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 23 wrz 2015, o 17:04 
Offline
Nowy

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

Witam szanownych forumowiczów!

Mam pewien poważny problem, z którym nie mogę sobie poradzić. Chciałem wykorzystać serią filmów "Przetwornik ADC" to wykonania termostatu. Miał on pobierać zmienną wartość z potencjometru i porównywać ją z temperaturą z termometru DS18B20. Jednak są to zupełnie inne zmienne i nie da się ich niestety porównać (w filmach wartość w której przechowywane są dane o z przetwornika ADC to char[], a dane z termometru to uint32_t). próbowałem zastosować pewien cwaniacki myk, ale niestety nie wyszedł.
Będę wdzięczny za każdą pomoc.

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 wrz 2015, o 18:49 
Offline
Moderator
Avatar użytkownika

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

skiero napisał(a):
próbowałem zastosować pewien cwaniacki myk,

Panie, panie - na litość boską - to pokaże że ten myk a nie wrzucasz HEKTOLITR kodu i urządzasz zawody, na spostrzegawczość kto znajdzie? ... Zastanów się czy przy tak zadanym pytaniu komuś się będzie chciało w ogóle szukać .... Naprawdę czy tak ciężko zadać poprawnie pytanie ? jeśli się oczekuje dobrej szybkiej i celnej odpowiedzi na forum ?

_________________
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: 25 wrz 2015, o 16:28 
Offline
Nowy

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

Przepraszam, rzeczywiście mój post był mało precyzyjny, już zmierzam do meritum.
Dostosowałem kod z odcinka "Przetwornik ADC w mikrokontrolerach AVR - CZĘŚĆ 04b" w następujący sposób. Chciałem, aby na pomocą potencjometru można było nastawić temperaturę z zakresu 0 -120 st. C, więc zmieniłem zakres wyświetlania wartości z 0 - 12V ( jak w filmie) na rzeczone 1 - 120 st. C. Jeśli chodzi o typ zmiennej nic nie zmieniałem, dalej pozostało to "char", a wyświetlanie jaj na monitorze portu szeregowego za pomocą zmiennej (przed przecinkiem i po przecinku) "accu1_vol.v1","accu1_vol.v2".
Drugą częścią, polegała na dołożeniu do w.w. kodu programu wyświetlania wartości temperatury z termometru DS18B20 (czyli biblioteka i zagadnienie z "1Wire"). Wyświetlana z niego temperatura jest przedstawiona w następujący sposób: wartość sprzed przecinka i po przecinku "cel","cel_fract_bits". Typy obu tych zmiennych to "uint32_t".
Porównałem za sobą te dwie wartości w następujący sposób:

if ( accu1_vol.v1 > cel ) 1<<PB0;

wyskakuje błąd: "incompatible types when assigning to type 'char[4]' from type 'uint32_t'"
Wiem, że porównywanie tych wartości nie jest możliwe, ale nie wiem w jaki sposób możne to rozwiązać.
Chciałbym zaznaczyć, że interesują mnie odpowiedzi typu: "Poszukaj w książce takiej i takiej...". Temat bardzo mnie interesuje, więc chętnie się w niego zagłębie. Po prostu nie znam literatury.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 wrz 2015, o 10:25 
Offline
Moderator
Avatar użytkownika

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

skiero napisał(a):
wartość sprzed przecinka i po przecinku "cel","cel_fract_bits". Typy obu tych zmiennych to "uint32_t".

a od kiedy te typy to uint32_t ???

skiero napisał(a):
if ( accu1_vol.v1 > cel ) 1<<PB0;

ale co ty chcesz porównywać ? wartość napięcia przed przecinkiem z wartością temperatury przed przecinkiem ? ..... Już pomijając nawet że chcesz robić takie porównanie - to co dalej oznacza w tym warunku ten zapis 1<<PB0 ???

------------------------ [ Dodano po: 6 minutach ]

skiero napisał(a):
Chciałbym zaznaczyć, że interesują mnie odpowiedzi typu: "Poszukaj w książce takiej i takiej...".

A ja chciałbym zaznaczyć - że mnie nie interesują takie (przepraszam bezsensowne dopiski na forum) i ZDECYDOWANIE polecam ci jednak sięgnąć do książki:
http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

bo to TYLKO może ci się przydać - skoro ty łączysz gdzieś znalezione w sieci kawałki kodów tzn próbujesz łączyć a KOMPLETNIE nie znasz podstaw języka C .... to jak myślisz że można ci wyjaśnić pewne rzeczy ?

Toż ten twój warunek if() który wyżej pokazałem wydaje się być kompletnie ale to kompletnie bez sensu - przy czym nie mówię tu, że twój jakiś tam pomysł jest bez sensu na urządzenie - bo pomysł zwykle jest dobry - tylko jak się nie zna języka to się nie umie zapisać tego pomysłu w tym języku.

skiero napisał(a):
Wiem, że porównywanie tych wartości nie jest możliwe, ale nie wiem w jaki sposób możne to rozwiązać.

No widzisz w odcinku poradnika video dla uproszczenia wrzucam wartości napięcia w tablice typu char aby łatwo można to było sobie wyświetlać. Rozumiesz ? Wyświetlać ..... Więc to już nie są liczby a stringi ... A wygląda na to, że ty nawet nie wiesz co to są Stringi w C jak mi się wydaje ? Tablice znaków ....

Jak więc chcesz porównywać jakąś tablicę znaków (tzw C-String) z jakąś liczbą ?

Jak to zrobić ? prosto w kodzie z poradnika wprowadzić sobie wartości napięcia w postaci liczbowej - żeby można było później porównywać

I mówię - poczytać najpierw książkę

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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