Sari la conținut
ELFORUM - Forumul electronistilor

stm32F4 cortex problema porturile (high/low)


moro

Postări Recomandate

Va salut, am inceput sa fac trecerea de la pic`uri la arm cortex.

Asadar mi-am luat un discovery F4 board cu stm32F407VG, ca si compilator folosesc mikroc for arm.

Am zis sa incerc pentru inceput sa aprind led-uri. 

 

Placa discovery are 4 led-uri pe Portul D 12,13,14,15 cu catozii la masa , am configurat registrii luand`u`ma dupa datasheet

GPIOD_MODER=0x55555555; // set pins as outputsGPIOD_PUPDR=0x00000000; // pullup   disableGPIOD_OTYPER=0x0000; // enable push pullGPIOD_OSPEEDR=0x00000000; // 2 mhz speedGPIOD_ODR=0x0000FFFF; // set all pins high logic out

Si aici incepe panarama, ca nu se aprind led-urile alea de nicio culoare

In schimb daca folosesc librariile custom din mikroc le pot aprinde , adica asa

 

 GPIO_Config(&GPIOD_BASE,   // select port d _GPIO_PINMASK_13, // select all pins _GPIO_CFG_MODE_OUTPUT | _GPIO_CFG_DIGITAL_OUTPUT | _GPIO_CFG_OTYPE_PP);

 

datasheet-ul se poate gasi aici http://www.st.com/st-web-ui/static/active/en/resource/technical/document/reference_manual/DM00031020.pdf la pagina 265

 

A mai intalnit cineva problema asta?

Link spre comentariu
  • Răspunsuri 2
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • moro

    2

  • godFather89

    1

Top autori în acest subiect

De obicei mai e un registru in care setezi un bit ca portul sa mearga (sa primeasca clock/power), si mai e un registru in care setezi fiecare pin ce functie sa aiba (GPIO, UART, SPI, etc).

Cam dupa astea ar trebui sa te uiti.

Link spre comentariu

S-a rezolvat pana la urma, atunci ma ofticasem ca nu pot lucra direct cu registrii decat prin librariile custom mikroc care doar dansii stiu ce si cum apeleaza. asa ca am schimbat softul in care scriu... Nu vreau sa critic un soft anume, personal am lucrat vreo 3-4 ani in mikroc pe pic-uri si am fost foarte multumit .

Trecand pe arm de 32 biti ma impotmolisem la porturile alea, si cerusem suport, nimeni nimic.. Apoi am instalat IAR ewarm 6.3 de care m-am speriat putin la inceput dar acum merge bine treaba, ma mai inpotmolesc la diverse declaratii fiind vorba de c standard unde functii ca inttostr sau floattostr nu exista :-)

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări