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



Teraz jest 12 lut 2025, o 20:30


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 13 sty 2013, o 14:07 
Offline
Użytkownik

Dołączył(a): 03 lis 2012
Posty: 43
Pomógł: 1

Witam
Bardzo proszę o gotowy kawałek kodu, w którym ilość narastających zboczy na wejściu PA0 będzie zapisywana do zmiennej "a".
Pozdrawiam
MDR



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2013, o 14:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lis 2011
Posty: 534
Lokalizacja: Mierzyn
Pomógł: 9

A moze tak najpierw sam pomyslisz napiszesz i jak cos nie tak wkleisz kod i koledzy pomoga. Tu nie dajemy gotowych rozwiazan. Staramy sie pomagac ale nie licz na gotowce.

_________________
pozdrawiam
Jachu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2013, o 14:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lis 2011
Posty: 302
Lokalizacja: Kraków
Pomógł: 6

Jak nie:
Cytuj:
W tym dziale podajemy rozwiązania nie na zasadzie wędki a gotowej ryby. Jeśli masz problem i nie potrafisz go rozwiązać, opisz go. Jeśli znajdą się chętni, którzy w ramach nauki zechcą wymyślać rozwiązania to skorzystają na tym obie strony.

_________________
Zapraszam:
filiporlo.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2013, o 14:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

jachu nie wie jaki to dział:>



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2013, o 14:53 
Offline
Użytkownik

Dołączył(a): 03 lis 2012
Posty: 43
Pomógł: 1

Nie za wiele mi to pomoże, bo jestem zieloniutki jeżeli chodzi o wszelakie uC. Chcę gotowy przykład aby go zanalizować i mniej więcej ogarnąć o co chodzi ;).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2013, o 15:03 
Offline
Użytkownik

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

kolega MDR niestety użytkuje F0 , a ja jakoś nie bardzo mogę znaleźć czas na grzebanie się w nim ....
większość rzeczy jest podobna , niestety rdzeń M0 jest bardzo okrojony w stosunku do M3 wieksze szanse na działanie kodów
z M3 ma poprawiony rdzeń M0 czyli M0+ niestety obecnie jedyne procesory na rynku, które mają ten rdzeń na pokładzie to Kinetis
z firmy Freescale.

Rdzeń Cortex-M0 został zaprojektowany jako maksymalnie uproszczony oraz maksymalnie tani 32bitowy rdzeń dla niszowych i tanich rozwiązań niewymagających rozbudowanych list instrukcji. Rdzeń miał być z założenia zgodny z „większymi” braćmi , choć wyszło, że jest „raczej” zgodny sam ze sobą . Nowy i tani Cortex-M0 okazał się trochę niewypałem , w założeniu Firmy ARM miał zdeklasować mikrokontrolery 8 i 16 bitowe zapewniając wysoką wydajność oraz niski koszt implementacji i to wszystko przy relatywnie niskim poborze energii . Dużo hałasu, a testy udowodniły, że jednak nie do końca był tak dobry jak zapowiadano.Wszystkie cięcia w rdzeniu M0 względem rdzenia M3 jak widać głównie polegały na :

- redukcji rozkazów asemblera, których pozostało 56
- pominięto moduł MPU
- zredukowano do minimum moduł sprzętowego debugowania
- okrojono interfejs połączeń pamięci
- oskubano nawet kontroler NVIC

Podobnie okrojone i uproszczone zostało jeszcze wiele bloków rdzenia. Jednak mimo to wielu producentów mikrokontrolerów uznało, że taki „oskubany” z czego się tylko dało rdzeń ma sens.
Zresztą daje się to zaobserwować poprzez pojawiające się tanie i oszczędne wersje mikrokontrolerów
Różnych producentów w których zastosowano rdzeń M0. Poniekąd cel nie zawsze uświęca środki i choć firma ARM osiągnęła cel , bowiem wszystkie cięcia pozwoliły na 2-krotne zmniejszenie poboru mocy, a przestrzeń zajmowana przez rdzeń została zredukowana niemal 3-krotnie to jednak odbiło się to wszystko na wydajności, która drastycznie spadła. I rdzeń wiele stracił na atrakcyjności. W każdym razie na szczęście firma ARM wyczuła pismo nosem i postanowiła wprowadzić zmodyfikowaną wersję rdzenia M0 oznaczonego znakiem + (plus).

------------------------ [ Dodano po: 1 minucie ]

Dlatego radzę sie zainteresować na tym etapie początkowym mikrokontrolerami AVR , żeby się obyc z językiem lub zainwestować w STM32VL, który ma pełny rdzeń M3 lub FRDM-KL25Z z M0+

_________________
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: 13 sty 2013, o 19:57 
Offline
Użytkownik

Dołączył(a): 07 sty 2012
Posty: 136
Pomógł: 0

Kolego:
http://stm32.eu/node/48
Też się tym bawię, na początku bardzo męczyłem SunRivera, teraz jakoś sobie radzę. Generalnie strona którą Ci podałem ma dużo fajnych artykułów o stm32, tylko nie wolno przepisywać "na pałę", pamiętaj : dokumentacja twoim przyjacielem. A przeczytana dokumentacja, najlepszym.
Ale faktycznie lepiej zacząć od "ośmiu bitów".
uC 8bit, są jak analogowe przyrządy pomiarowe. Mają duże walory edukacyjne, mam nadzieję ze seria AVR będzie jeszcze długo produkowana, bo w przyszłości będę chciał kształcić na tym swojego syna:P

Kiedyś coś naskrobałem i chyba nawet działało:P
Jak znajdę chwilę jutro to poskrobię bardziej:
To jest taka funkcyja konfiguracyjna włączasz ją sobie na początku main (najlepiej po inicjacji GPIO i RCC)

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


Zrób sobie zmienną globalną, chyba starczy coś takiego:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


A potem w pliku stm32f10x_it.c tworzysz sobie funkcję :

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


Gdzie funkcja "zmienna()" znajduje się w pliku main.c i robisz tam takie coś ++a.
AAA...
I nie zapomnij żeby było też odwołanie tego: void EXTI0_IRQHandle w pliku stm32f10x_it.h

Zakładam że C coś wiesz, jak coś to pytaj. A reszta towarzystwa, jak napisałem głupotę to wskażcie mi:P
W funkcji konfiguracji przerwań zewnętrznych masz skonfigurowane dwa źródła, akurat takimi się bawiłem kiedyś i jest. Po zatym Falling musisz zmienić na rising i powinno być gites:)

------------------------ [ Dodano po: 1 minucie ]

Ktoś by mi mógł powiedzieć jak się wkleja te kody żeby były czytelne...
A kod jest dla STM32F103 ale powinno trybić F0.



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