Gast
#5112775
ich habe diesen code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
Es sollein einfacher Timer zur Zeitmessung mit 10us Genauigkeit werden. Irgendwie klappt das mit ckd und psc nicht. Was ist falsch?
|
Anzeige
|
stm32f407 TIM3-Problem
Gast
#5112775
ich habe diesen code:
Es sollein einfacher Timer zur Zeitmessung mit 10us Genauigkeit werden. Irgendwie klappt das mit ckd und psc nicht. Was ist falsch?
Gast
#5112828
Moin, grundschüler schrieb: > Irgendwie klappt das mit ckd und psc nicht. Was ist falsch? Was klappt denn nicht. Ich hatte mir mal ein 10us Timestamp generiert: __TIM5_CLK_ENABLE(); /* TIM5 counts up in steps of 10us to provide a 32bit time stamp value */ TIM5->PSC = 839; TIM5->CR1 = TIM_CR1_CEN; TIM5->EGR = TIM_EGR_UG; Das reichte. Das UG schien notwendig zu sein: Bits 15:0 PSC[15:0]: Prescaler value The counter clock frequency CK_CNT is equal to fCK_PSC / (PSC[15:0] + 1). PSC contains the value to be loaded in the active prescaler register at each update event. Liegt es vielleicht daran?
Gast
#5112858
Moin, grundschüler schrieb: > //jede sec > lcd_goto(3,1); > lcd_int(TIM3->CNT); > lcd_write(":"); > TIM3->CNT=0; mir fiel grad ein, TIM 3 ist ein 16bit counter im F407! Bei 10us steps laeuft er nach 0,6s von selbst ueber. Bei mir lief das Board mit 168MHz -> PSC 839 fuer 10us steps. APB1 Divider 4 (Timer X2) -> 84MHz auf TIM5 Welchen Takt hast du?
Gast
#5112869
168 Mhz - am Überlauf liegt es nicht. Das habe ich getestet. Meine Erwartungshaltung wäre halt dopelter psc ergibt halben Takt. Ich werde versuchshalber aber mal deinen tim5-code probieren. danke Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|