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



Teraz jest 22 gru 2024, o 22:45


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 20 maja 2013, o 11:26 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

Doszedłem w swojej nauce ARM-ów do generowania PWM, no i właśnie doszedłem i stanąłem :)

Na samym początku wrzucę kod programu:

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


Jak widać jest tu jeszcze SysTick i Timer 1, ale wrzuciłem wszystko żeby był pełen obraz sytuacji.

Mam dwa pytania:

1.Co robię źle? Sygnał nie chce się niestety generować.
2.Gdzie w datasheet STM32F407VGT6 znajdę gdzie jest podłączony Kanał 1 timera 3? Znalazłem tylko Alternative Functions i tam są właśnie piny PA6,PB4 i PC6. Czy to oznacza że ten kanał jest powiązany do tych 3 pinów? Nie sądzę, bo musi być jakiś przypisany domyślnie ale nigdzie tego nie mogę znaleźć.
3. W jaki sposób remapuje się iny w tych prockach? Bo
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
nie chce działać. Znalazłem 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.
no ale nie za bardzo wiem co wpisać w argumenty funkcji.

Uff, mam nadzieje że ktoś wie o co chodzi bo męczę ten PWM od wczoraj.

Pozdrawiam



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

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

hehe PWM na STM jest naprawdę prosty do opanowania , masz opisane u mnie na stronce
co do remapowania funkcji to są one zależne od kilku czynników i warto sprawdzić w nocie gdzie i w ajki sposób możesz remapować , bo nie jest to tak że rzucasz gdzie chcesz :)

ja zazwyczaj robię to bezpośrednio:

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


czyli :

Pin remap
0x0200---- JTAG (SWJ) ustawione dla SWD uwolnione dla PB3/4 dla SPI1 lub PWM

TIM3 remap
0x000 no remap CH1/2/3/4 czyli PA6/PA7/PB0/PB1
0x800 remap 2 TIM3 PB4/PB5/PB0/PB1 dla QAR PWM wyjścia mosfet
0xc00 remap 3 TIM3 PC6/PC7/PC8/PC9 dla diod na discovery PC8/PC9
0x00 USART3 standard Tx=PB10 Rx=PB11
0x10 USART3 cześćiowy remap Tx=PC10 Rx=PC11 Ck=PC12.
0x01 SPI1 remap, użyte PB3/4/5 CLK/MISO/MOSI w/ PA15 dla CS

Nie zawsze można użyc pełnego remapingu.
W przypadku funkcji:

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


podajesz jako argumenty Definicję dla timera(numer) , oraz miejsce docelowe)

musisz sprawdzić gdzie możesz go remapować :)

_________________
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: 20 maja 2013, o 15:47 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

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


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

Jak widzisz ustawiłem GPIO dla PA6, PC6, PB4 - bo nigdzie nie mogę znaleźć który pin jest domyślnym dla kanału 1 timera 3.

No ale i tak na tych ustawieniach, PWM nie chce ruszyć na żadnym z tych trzech pinów :evil:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 maja 2013, o 16:24 
Offline
Użytkownik
Avatar użytkownika

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

a no widzisz ty masz STM32F407VGT6

PWM masz dostępny na TIM1 i TIM8 co widać na schemacie blokowym w nocie na stronie 18 stej

cytując stronę 29:

Advanced-control timers (TIM1, TIM8)
The advanced-control timers (TIM1, TIM8) can be seen as three-phase PWM generators
multiplexed on 6 channels. They have complementary PWM outputs with programmable
inserted dead times. They can also be considered as complete general-purpose timers.
Their 4 independent channels can be used for:
● Input capture
● Output compare
● PWM generation (edge- or center-aligned modes)
● One-pulse mode output
If configured as standard 16-bit timers, they have the same features as the general-purpose
TIMx timers. If configured as 16-bit PWM generators, they have full modulation capability (0-
100%).
The advanced-control timer can work together with the TIMx timers via the Timer Link
feature for synchronization or event chaining.
TIM1 and TIM8 support independent DMA request generation.

Czytając dalej dowiesz się jak generować na innych timerach ... i z jakimi zależnościami


w między czasie sprawdź przykładowy prog z STM

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

_________________
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: 20 maja 2013, o 20:55 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

Dziękuje Ci Sunie :)

Generalnie fajne te ARM-y, ale ilość dokumentacji mnie przytłacza, w AVR był jeden datasheet do każdego układu(w granicach 700 stron), tutaj kilka książek "cegieł" dla mikroprocka :)

Skąd wziąłeś ten przykład?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 maja 2013, o 21:24 
Offline
Użytkownik
Avatar użytkownika

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

ze strony STM :P

_________________
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: 21 maja 2013, o 09:02 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

Mógłbym Cie prosić o dokładniejsze info :P Bo na stronie discovery jest napisane: A large number of free ready-to-run application firmware examples are available on www.st.com/stm32f4-discovery to support quick evaluation and development. Więc normalnie cud miód i orzeszki... tylko gdzie te przykłady? :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2013, o 09:40 
Offline
Użytkownik
Avatar użytkownika

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

no jak widzisz są :) ... zarejestruj się i stanie się jasność :)

http://www.st.com/web/en/catalog/tools/PF257904 cześć tez znajdziesz tu

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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO