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



Teraz jest 7 sty 2025, o 05:47


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 23 ] 
Autor Wiadomość
PostNapisane: 15 kwi 2016, o 18:58 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

Witajcie,

próbowałem na wszelkie możliwe sposoby lecz nie mam już pomysłu... Pomoże ktoś zrozumieć jak działa ADC? To co spłodziłem:

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


Ogółem chcę osiągnąć by dioda świeciła równie mocno jak wiele jest na ADC. Mam podpięty pod PC0 potencjometr. Jak nim kręcę, to nic się nie dzieje ;/

Pewnie ktoś powie, że mogę używać bibliotek. Owszem, lecz chcę poznać to dokładniej. Nie ma bibliotek do wszystkiego (i wtedy umiejętność tworzenia własnych w oparciu o taki masochizm jest jedną z niewielu opcji poradzenia sobie).

Oczywiście, chętnie zobaczę rozwiązanie na przykładzie biblioteki. Nie potrafię jeszcze ich zbyt dobrze używać. Niemniej jednak najbardziej zależy mi na tym, by ktoś wyjaśnił jak tego ADC odpalić (przy okazji, chętnie się dowiem jak odpalić ADC w continous convertion, bo to będzie następna rzecz jaką chcę zrozumieć).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 19:13 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

Panie Kochany, a strony Sunrivera to się nie zna? Standard CMSIS nie gryzie i jest dobry ;)

http://www.sunduino.pl/wordpress/start- ... ry-10-adc/
http://www.sunduino.pl/wordpress/start- ... dc-part-2/


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 19:20 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

matti0010 napisał(a):
Pewnie ktoś powie, że mogę używać bibliotek. Owszem, lecz chcę poznać to dokładniej. Nie ma bibliotek do wszystkiego


Owszem są ... ale nie istotne

matti0010 napisał(a):
Nie potrafię jeszcze ich zbyt dobrze używać.


Choć kolega jeden dobrze to ujął , dlatego też nie będę pokazywał jak to zrobić na bibliotekach HAL w CMSIS.

obszerny dokument na ten temat jest jak zawsze na stronie producenta mikrokontrolera :

http://www2.st.com/content/ccc/resource ... 258017.pdf

od tego należy zacząć ...


Autor postu otrzymał pochwałę

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 19:24 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

Panie Złoty, napisałem że chciałbym poznać to dogłębniej na zasadzie takiej, jak wygląda mój kod. Nie uwierzę, że w tym standardzie autorzy przewidzieli wszystkie możliwości, jakie mogą wystąpić podczas pracy. To jest fizycznie niemożliwe. Z tego powodu chcę nauczyć się, jak to działa, nie tylko jak się pisze. Niemniej jednak z tą stroną chętnie się zapoznam, lecz to nadal nie odpowiada na mój problem.

SunRiver napisał(a):
matti0010 napisał(a):
obszerny dokument na ten temat jest jak zawsze na stronie producenta mikrokontrolera :

http://www2.st.com/content/ccc/resource ... 258017.pdf

od tego należy zacząć ...


Gdybym nie przejrzał noty i nie siedział nad tym już któryś dzień, to bym tutaj nie pisał... Przejrzałem zarówno AN jak i RM i DM. Nadal nie wiem co źle robię (tak, kod przykładowy z RM też sprawdzałem i nic to nie dało).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 19:30 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

Obsługa ADC zawsze wygląda tak samo ... wiec niema tu żadnej tajemnicy
trzeba uruchomić , ustawić napiecie referencyjne , dokonac kalibracji i dokonywać pomiaru napięcia np na potencjometrze
następnie danymi z ADC należy się posłużyć do ustawienia PWM który steruje diodą

efekt ?? uzyskujemy regulację natężenia świecenia diody ....
:)

nie trzeba się fochać :) zasada taka sama jak na avr tyko więcej zamieszania :()
zainstaluj sobie STM32Cube .. i zobacz jak to działa ...

zapoznaj się też z tym materiałem http://embedded-lab.com/blog/stm32-adc-2/

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 19:51 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

Czyli tak naprawdę tak jak chciałem to zrobić. Nie jestem pewny tego napięcia referencyjnego. Pominąłem tylko kalibrację, ponieważ początkowo chciałem by cokolwiek się działo, może skakać pomiar jak dziecko z ADHD. Pogrzebię jeszcze w tym nieszczęsnym RM i AN.

Wiem że takie kopanie się z dokumentacja to głupota, lecz jestem zbyt dociekliwy i nie lubię używać czegoś, czego nie rozumie lub nie wiem jak działa (gdy coś tworzę). Przejrzę te materiały, które od Was dostałem, dziękuję. Przydadzą się.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 19:56 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

powiem ci że często to jedyna droga .... a dokumentacja nie jest specjalnie przyjazna , zwłaszcza jak zaglądniesz do referencji rdzenia Cortex M
firmy ARM ... czyli obowiązkowej lektury.

zaglądnij do radzia ... http://en.radzio.dxp.pl/stm32vldiscover ... r,adc.html
ew tu ... http://tecsploit.com/stm32f4-discovery/ ... discovery/

jak uznasz że stoisz w miejscu , rozważ używanie CMSIS i bibliotek HAL


Autor postu otrzymał pochwałę

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 20:00 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

Najgorsze w ARMach jest to, że każdy ma całkiem inną specyfikację... w STM32F0 przykładowo linia zegarowa od portów jest w jednym rejestrze a w STM32F1 już w innym... jak by nie mogli trzymać się tego co było i tylko rozbudowywać lub lekko modyfikować ;/ ale ARM to tylko patent, różne firmy je kupują i tworzą potem układy z rdzeniem ARM więc jest jak jest.

Do bibliotek często zaglądam i tam też szukam "inspiracji", lecz... nie zawsze jestem w stanie znaleźć rozwiązanie. Google przekopałem tak, jakbym był na polu ziemniaków... No nic, dalej będę próbował. Jeszcze raz dzięki :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 20:07 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

nie do końca tak jest ... ARM dostarcza rdzeń zaś peryferia zależą od producenta krzemu
ale rdzeń jest zawsze ten sam ... znaczy no wiadomo że mamy dużo cortexów ...

F1xx mają rdzenie M3 i choć M0 jest też z ARM to jednak ... mało w nim tego ARMA bo co się dało wyciachali
na szczęście jest M0+ który dosyć polubiłem ...

Dlatego swego czasu uznałem że mam dość asm dla ARM i rycia po rejestrach , bo nie jest to już era procesora kopanego
SPL nie były specjalnie udane to prawda , HAL się poprawił choć w przypadku STM dalej nie jest to rewelacja :)

ARM daje standard w postaci CMSIS gdzie dostarcza oprogramowanie do RDZENIA zaś producent krzemu jak STM dostarcza HAL
daje to wiele , ale nie o tym przecież w tym temacie :)


Autor postu otrzymał pochwałę

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 20:31 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

Tyle że masz tutaj całkowitą rację, to już nie ta era kopania. Jednak wypada chociaż trochę to znać ;) Z tego powodu warto chociaż jeden rdzeń przekopać pobieżnie by wiedzieć co te biblioteki robią. Przynajmniej ja tak sądzę.
Próbuję dalej to zrealizować ;/ widzę że radzio napisał to w bardzo podobny sposób (tylko ma tam inne diody i więcej makr), lecz nadal nie chce to cholerstwo ruszyć. Szkoda, że gdy kupowałem STM32FxDISCOVERY nie znałem się na tym (teraz też się nie znam, ale wiem chociaż na co mniej więcej zwracać uwagę). Wtedy na pewno nie brałbym F0 ;/ zero przykładów w sieci, na których mógłbym się ewentualnie uczyć. Do tego RM jest często tak napisany że... zacytuję kolegę "nie wiem co oni tam biorą, ale to musi być srogie"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 21:02 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

Sam się uczę dopiero STMów. Pół godziny czytania RM i proszę, ADC działa ;)

Ustawienie w najprostszy tryb single ADCeka i pino PA0 jako wejścia ADC.

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


funkcja zwracająca pomierzone dane (12 bitowa wartość)

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


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 21:11 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

Potencjometr włączony pomiędzy 3V czyli Vdd a GND. To mega prosty kod ale działa.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 21:24 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

Wkleiłem już na "chama" ten kod dodając tylko obsługę diody (by widzieć coś):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Dalej nie działa -_- przemierzyłem potencjometr, dla pewności, sprawdziłem kable, diodę, wszystko o czym tylko pomyślałem ;/

------------------------ [ Dodano po: 9 minutach ]

Sprawdziłem za pomocą diody (oświecałem ją po kolei zmieniając linijki, schodziłem od góry do dołu). Program utyka w linii z: while(!((ADC1->ISR) & ADC_ISR_ADRDY));



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 21:38 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

A gdzie włączenie zegara dla ADC1?


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 21:42 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

W piekle będę się smażył za ten spam...

Teraz działa:

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


Brakowało odpalenia zegara dla ADC: RCC -> APB2ENR |= RCC_APB2ENR_ADC1EN; Po wpisaniu tego zaczęło działać. Tyle że teraz siedzę jak ciele, patrzę na Twój kod, na mój kod i za nic nie potrafię zrozumieć czemu mój nie działał. Miałem dokładnie tak samo napisane (nawet z kalibracją w akcie desperacji, wiem bo mam 75% wersji kodów jakie testowałem przez ostatnie dni) -_- Elektronika... no nic, ważne że już ruszyło, teraz będę mógł dalej się uczyć jak to modyfikowac itd, bo już wiem że ADC działa.

BARDZO DZIĘKUJĘ WAM OBU ZA POMOC. Naprawdę, chylę czoła :)

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

Nefarious19 napisał(a):
A gdzie włączenie zegara dla ADC1?


jak to napisałeś to właśnie byłem w trakcie pisania swojej odpowiedzi :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 21:49 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

Tu w ARM trzeba pamiętać że dla każdego <KAŻDEGO> peryferia , UART, ADC ... a nawet GPIO należy zawsze najpierw włączyć zegar :)
a potem można się nimi bawić ... trochę na początku jest to wkurzające , ale się potem okazuje bardzo przydatne :)

--- jak tak patrze na twój kod to .. widzę dlaczego ci nie działa , ale powinieneś to szybko znaleźć :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 21:51 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

Poszukam, wiem teraz jak wygląda DZIAŁAJĄCY kod więc na spokojnie jak trochę od tego odpocznę siądę na nowo i znajdę. Teraz mam jakiś punkt wyjścia. Tak to szukałem "po omacku"...

Co do odpalania zegarów, początkowo też mnie to denerwowało, lecz teraz w sumie... to jest pierwsze co sprawdzam jak chcę coś uruchomić. Tutaj za pierwszym razem już ze zmęczenia nie spojrzałem na to ;) ale za drugim spojrzeniem znalazłem ten brakujący zegar.

Poza obniżonym poborem mocy jakie są zalety wyłączonych zegarów? (o ile takowe są :P )



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 22:20 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

właściwie to włączonych , gdyż można puścić wiele peryferii asynchronicznie :)
np GPIO mozna taktować wyżej niż rdzeń :) a czasem sie to przydaje :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 22:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

SunRiver napisał(a):
właściwie to włączonych , gdyż można puścić wiele peryferii asynchronicznie :)


Jak zacząłem się wgryzać w ARMy (zaczynając zresztą od Twojej książki ;)
To wielość możliwości ustawień zegara była dla mnie lekkim szokiem, szczególnie później w M4
Rożne preskalery, różnie taktowane peryferia...
Kolejnym szokiem były rejestry GPIO i znowu np. pulldown, albo prędkość narastania zbocza...

Generalnie mi sie podobają te klikanki w stylu CubeMX. Na ARM spodobało mi się użycie struktur do konfiguracji GPIO czy ogólnie peryferiów.

A i polecam też biblioteki tego człowieka:
Tilen Majerle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 22:44 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

sq8dsr napisał(a):
Generalnie mi sie podobają te klikanki w stylu CubeMX. Na ARM spodobało mi się użycie struktur do konfiguracji GPIO czy ogólnie peryferiów.


Nio CubeMX jeszcze rozumiem bo czesto korzystam by sobie podglądnąc zależności obwodów czasowych , ale CW i KDS mnie mierzi strasznie
wolę sobie klepać koda w Keilu, TrupeStudio czy moim ulubionym VS z VGDB :) No i oczywiście CMSIS i HAL dzięki czemu mogę sobie z kodem kicac po LPC, Kinetisach , renesasach czy STmach ... po malusienkich w sumie tylko popraweczkach

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 22:47 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

Jeszcze wiele muszę się nauczyć :) więc pewnie te forum mnie znienawidzi za liczny spam w postaci skomlenia o pomoc :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2016, o 22:51 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

wiesz nie jest tak źle , :) dawno nie meczyłem STmów ... siedze w kinetisach ostatnio i Xmosie
jako rozrywkę bawię się Xmegą ... ech

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 kwi 2016, o 20:40 
Offline
Użytkownik

Dołączył(a): 04 sie 2014
Posty: 207
Pomógł: 0

Takie jeszcze jedno pytanie, jak mogę sprawdzić, jaką prędkość taktowania ADC mam? Jeszcze nie zdążyłem przerobić materiału z zegarów więc wybaczcie moją niewiedzę



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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