STM32F0 nejde TIM6, nejde HSE

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2564
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

STM32F0 nejde TIM6, nejde HSE

Príspevok od používateľa maskrtnik01 » 22 Máj 2018, 18:51

Dobrý deň,

Mám takéto problémy s MCU STM32F0. Spájkoval som ho trafospájkou, pretože som nemal na výber. Keď do neho napálim program, GPIOx fungujú - dokážem blikať LEDkou. Avšak akonáhle sa pokúsim to časovať cez TIM6, narazím. Čo som debugoval, riadky kde nastavujem TIM6->CR1 a pod. zbehnú, ale aj napriek tomu mi debugger hlási, že sú registre TIM6 vynulované - podľa RCC->APB1RSTR nie sú v resete.
Ďalej prišiel som na to, že sa startup code(používam VisualGDB for embedded) pokúša prepnúť na HSE, ale neúspešne (zrejme timeout). Zapojený mám 8MHz kryštál a 18pF kondenzátory. Keď som zatrigroval osciloskop na OSCI/OSCO, nedokázal som ani počas pripojenia napájania nič namerať.

Vedel by mi niekto poradiť ako z tohto von? Alebo čo merať, debugovať? Je MCU poškodený?
0

Používateľov profilový obrázok
jirka.jirka.
Ultimate člen
Ultimate člen
Príspevky: 1538
Dátum registrácie: 17 Okt 2008, 00:00
Bydlisko: Uherské Hradiště
Kontaktovať používateľa:

Re: STM32F0 nejde TIM6, nejde HSE

Príspevok od používateľa jirka.jirka. » 22 Máj 2018, 20:28

Nooooo, dobrá otázka.

Máš druhou desku?
1. Osadit (tj. adekvátně k ESD....)
2 nahrát stejný program
3. vyzkoušet.

Nebo:
1.Vzít vývojový kitík (se stejným MCU)
2. Adekvátně upravit pro kitík
3. vyzkoušet.

A jako poslední volba:
Dej sem zdrojové kódy. Protože věšteckou kouli ani já, ani nikdo jiný nemá. Máš osciloskop? dej průběhy, kde jsi co měřil a kdy.... :thumbup:

Víc takhle od stolu s lahváčem ti neporadím. :finga:
0
Naposledy upravil/-a jirka.jirka. v 22 Máj 2018, 20:48, upravené celkom 1 krát.

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2564
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: STM32F0 nejde TIM6, nejde HSE

Príspevok od používateľa maskrtnik01 » 22 Máj 2018, 20:48

Ďakujem za odpoveď.
1)Súčiastky by sa našli, aj dps. Bohužial som "šťastným" majiteľom Tipa ZDčky...a aj tá trafospájka momentálne nepočúva.
2)Vývojový kit, mám jeden ale s F411RE, blink demo na tom pobeží, aj na HSE.
3)Zdrojové kódy môžem poskytnúť, nie je tam nič extra. Bohužial nepredpokladám že máte VisualGDB licenciu(mne zase nesadol Keil tak preto takto). V mojom kóde nie je vlastne nič ohľadom hodín, nastavuje to startup code zo šablóny. Mám tam akurát inicializáciu TIM6, to je prebraté z tohto návodu: http://joudove.8u.cz/index.php?option=c ... Itemid=152

Osciloskop, meral som len na OSCI/OSCO, a to tak, že som zatriggroval na OSCI, a vtedy pripojil napájanie. Chcel som zachytiť pulzy, keď sa snažilo HSE nabehnúť(teda podľa startup code by malo). Vlastne ani nemám čo zverejniť, trigger sa mi nespustil. Keď som s rovnakým nastavením triggra ďobol sondou do interného generátora na kompenzáciu, trigger sa spustil, takže predpokladám že osciloskop bol nastavený správne.
0

Používateľov profilový obrázok
jirka.jirka.
Ultimate člen
Ultimate člen
Príspevky: 1538
Dátum registrácie: 17 Okt 2008, 00:00
Bydlisko: Uherské Hradiště
Kontaktovať používateľa:

Re: STM32F0 nejde TIM6, nejde HSE

Príspevok od používateľa jirka.jirka. » 22 Máj 2018, 20:53

Omyl v bodě 3. :agree:
Zdrojové kódy môžem poskytnúť, nie je tam nič extra. Bohužial nepredpokladám že máte VisualGDB licenciu(mne zase nesadol Keil tak preto takto).
Nejde o licenci, jde o to, co kde a jak inicializujete. Co když jste třeba zapomněl povolit periferii?? To se bez zdrojáků nedozvíme. A to nemluvě o tom, že já programuju pomocí eclipce.

Proč by eclipse neměl přebuildit tvůj kód (ovšem s úpravama)??

Licence je pouze něco :finga: :finga: :finga: :finga:
0

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2564
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: STM32F0 nejde TIM6, nejde HSE

Príspevok od používateľa maskrtnik01 » 22 Máj 2018, 21:02

Nech sa páči. Startup code je trošku netradične v C.....avšak nie je to môj kód, a viem že funguje. Inak by mi môj kód nenabehol, a on v podstate nabehne, LEDky keď nesynchronizujem s timerom blikajú.
Prílohy
LEDBlink.c
Toto je môj kód.
(4.58 KiB) 35 stiahnutí
system_stm32f0xx.c
(12.33 KiB) 31 stiahnutí
startup_stm32f030x6.c
(11.02 KiB) 32 stiahnutí
0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 709
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: STM32F0 nejde TIM6, nejde HSE

Príspevok od používateľa Tribec Zacks » 23 Máj 2018, 00:25

maskrtnik, spusti na mcu kod ktory ide, pomocou debugera ho stopni, manualne povol clock pre timer v rcc_apb1enr (nemusis resetovat v rstr registri nic), do registrov timeru zapis manualne nastavenie ake chces, nechaj ho pak chvilu bezat (aj single instructions zopar mozes urobit) precitaj tie registre naspat, ak budu vynulovane tak moze byt ze bude poskodeny, skonroluj ci sa ti to cele niekde nejak neresetuje, napajanie etc.

na skontrolovanie externeho krystaly si nastav si breakpoint (popripade sleduj watchpointom zmeny) na rcc_cr registri (funkcia systeminit) a sleduj ci ti to chce povolit hseon bit a sleduj ci sa sam nastavi hserdy bit, ak ano tak externy oscillator je ok, za predpokladu ze krystal je ok. (sry nechce sa mi moc lustit ten konfiguacny vygenerovany paskvil)

na osc_in/out nenameras nic, je to debug featura, musis priviest externy clock z fun. generatora na osc_in, a na osc_out meras osciloskopom pri zapnuti hsebyp a hseon bitov.


btw za visualgdb si zbytocne platil, eclipse+gdb funguje vyborne len to treba na zaciatku poriadne nastavit pre mcu projekt (jj je to trochu o drzku pre cloveka co to nepozna), popripade attolic studio je uz zadarmo cele.
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2564
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: STM32F0 nejde TIM6, nejde HSE

Príspevok od používateľa maskrtnik01 » 23 Máj 2018, 09:35

Ďakujem obom za odpovede. Najpravdepodobnejšia ostáva teória častočne odpáleného MCU. Toto som spustil na nucleo doske s F411RE.
Kód viacmenej rovnaký, zmeny len tie, ktoré boli nutné. LEDka sa rozblikala.
Prílohy
LEDBlink.c
(1.06 KiB) 33 stiahnutí
0

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2564
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: STM32F0 nejde TIM6, nejde HSE

Príspevok od používateľa maskrtnik01 » 26 Máj 2018, 15:20

Takže záhada timeru vyriešená. Až teraz som si detailne pozrel, ktoré timery vlastne má presne môj MCU. Podarilo sa mi trafiť timer, ktorý sa síce v STM32F0xx vyskytuje, takže kód skompilovalo. Ale potom som zapisoval hodnoty "do blba". Prepísal som to na iný timer, a funguje.
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok