sto cercando di rilevare la distanza tramite il seguente sensore: http://www.settorezero.com/wordpress/il-sensore-ad-ultrasuoni-hc-sr04/, per stamparla su display successivamente.
Premetto che il sensore funziona, perché genero un PWM che mi da un impulso da circa 20us e sull'oscilloscopio rilevo l'echo, e riconvertendolo mi da la misura in cm.
Il problema è che non ho ben capito come settare il TIM1 per catturare l'echo prodotto dal sensore e come leggere il valore del registro.
- Codice: Seleziona tutto
/* GPIOA Configuration:TIM1 Channel1 as alternate function open-drain */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
// enable timer clock
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1 , ENABLE);
TIM_ICInitStructure.TIM_Channel = TIM_Channel_1;
TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;
TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;
TIM_ICInitStructure.TIM_ICPrescaler = 0;
TIM_ICInitStructure.TIM_ICFilter = 0;
TIM_ICInit(TIM1 , &TIM_ICInitStructure);
TIM_ICInitStructure.TIM_Channel = TIM_Channel_2;
TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Falling;
TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_IndirectTI;
TIM_ICInitStructure.TIM_ICPrescaler = 0;
TIM_ICInitStructure.TIM_ICFilter = 0;
TIM_ICInit(TIM1 , &TIM_ICInitStructure);
TIM_SelectInputTrigger(TIM1 , TIM_TS_TI1FP1);
TIM_SelectSlaveMode(TIM1 , TIM_SlaveMode_Reset);
TIM_SelectMasterSlaveMode(TIM1 , TIM_MasterSlaveMode_Enable);
while(1){
capture = TIM_GetCapture1(TIM1);
lcd_pos(0,1);
printf("Temp: %d", capture);
}
Questo è il codice, se qualcuno mi spiegasse cosa fanno di preciso i settaggi del timer gliene sarei grato.
Grazie in anticipo

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


