[ zivadin_despot @ 17.03.2012. 14:06 ] @
Pozdrav svima, pokusavao sam programirati STM citajuci datasheet i popunjavajuci registre, ali to ide sporo i na Bogdanov savet poceo sam da citam biblioteke.
Interesuje me sledece:
1. za podesavanje gpio, npr podesavanje na kojoj frekvenciji da radi sa jezgrom moze da se uradi ovako
GPIOD->OSPEEDR=0xAAAAAAAA;
i ovako
PORT.GPIO_Speed=GPIO_Speed_50MHz
interesuje me gde mogu pronaci koju vrednost moze imati clan strukture PORT, tj sta sve mogu upisati za GPIO_Speed? Ako hocu frekvenciju od 2MHz (po datasheetu vrednost koju treba da upisem je 0x00000000) predpostavljam da treba odraditi sledece:
PORT.GPIO_Speed=GPIO_Speed_2MHz, ali kako da to proverim?

Aj necu sledece navoditi nego kad ovo resim mozda mi jos nesto bude jasnije...
Pozdrav
[ HeYoo @ 17.03.2012. 20:52 ] @
U reference manualu na stranici 149 su navedene vrednosti koje se mogu upisati u registar.
Inace kada hoces da vidis koje sve definicije postoje.. selektujes recimo GPIO_Speed_50MHz pa desni klik misem i postoji opcija(ne znam napamet kako se zove) da otvori fajl gde je definisana vrednost. Pored pronadjene definicije obicno stoje ostale i vidis sta jos ima.
[ bogdan.kecman @ 17.03.2012. 21:12 ] @
Tu ti kvalitet IDE-a dolazi dosta do znacaja. Realno, ti znas sta moze da se upise u registar tako sto pogledas sta pise u manualu za biblioteku, ali ono sto je dobro je sto su vrednosti "citljive" tako da upises PORT.GPIO_Speed=G i lupis CTRL+SPACE i on ti odrola sve moguce vrednosti koje mozes da upises a koji su validni za odabrani mcu...

Inace za biblioteke, pocni ovde: http://www.emcu.it/STM32F4xx/STM32F4-Library/STM32F4-Library.html
To ce finalno da te dovede do (~50MB): http://www.st.com/internet/com.../stm32f4_dsp_stdperiph_lib.zip

Otvoris tu arhivu i tu ti je brdo fajlova koje sve uglavnom vec imas u atollic-u + stm32f4xx_dsp_stdperiph_lib_um.chm koji iz nekog razloga ne dolazi uz attolic (ili dolazi a ja ga nisam nasao), elem to ti je user manual za stdlib, dsplib etc etc ...

Odes u index tab,
kucnes GPIO_IniotTypeDef (posto je to struktura koja te zanima)
Onda odaberes GPIO_Speed (posto je to element koji te zanima)
Onda vidis da pise da "vrednost parametra moze biti GPIOSpeed_TypeDef" pa kliknes na GPIOSpeed_TypeDef
I dobices listu sta doticni enumerator sve moze da bude






[ zivadin_despot @ 19.03.2012. 14:18 ] @
Sad je jasnije...interesuje me sada sintaksa za prekidnu funkciju..
Za pic-eve u uC-u izgleda:

Code:

void interrutp(){
  if(flag){
  ...
  }
}

gde je "flag" falg bit koji se setuje za odredjeni interupt. Kako bi ovo izgledalo u atollic-u?
Nasao sam nesto ovog tipa:

Code:

void prekid (void)__attribute__((interrupt("EXTI")));


ali u ovoj funkciji ne mogu nista raditi, pa predpostavljam da se ovim dodeljuje da je funkcija prekid() funkcija u koju ce program skociti kada se desi bilo koji prekid EXTI, a u njoj proveramav flag-ove, jel?

Pozdrav
[ bogdan.kecman @ 19.03.2012. 15:27 ] @
malo drugacije rade interapti na 32bitnim sistemima (cak i na pic-u), na pocetku programa se postavljaju vektori ... no, ajde please iskopiraj ovu poruku u novu temu STM32F4 - interapti .. pa da tamo diskutujemo o interaptima posto ce to biti malo veca diskusija .. da probamo da drzimo strvari koliko toliko organizovane .. ja sam sad malo u frci pa ako se odin ili neko drugi ne prikljuci tamo u temi sa interaptima ja cu .. samo dosta kasnije danas popodne
[ Odin D. @ 19.03.2012. 17:40 ] @
^ Ja jos na poslu... :(
Tek sutra uvece nesto slobodnog vremena...
[ Lazoman @ 17.01.2015. 16:24 ] @
Pogledaj ovaj sajt http://stm32f4-discovery.com/
[ zivadin_despot @ 17.01.2015. 17:58 ] @
Reseno...:)