Janson1 skrev:Ni som följt min tråd/trådar om detta vet att jag har varit lite motståndare till interrupt men nu har jag det och då frigör jag dels tid rent allmänt och dels frigör jag precis dubbelt så mycket tid till alla casen och det blir ju en bidragande orsak till att ECU:n kan driva mer grejer vid högre varvtal på motorn.
/* Vevaxel tand interrupt för att mäta lucktid*/
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
/* Tid för vevpuls låg*/
if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_1)
{
pulse_low_time = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_1); //tid låg
VEVTAND_langd = pulse_low_time;
newpulse = NEW_PULSE_TIME_TRUE;
}
/* Tid för vevpuls hög*/
/*
if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_2)
{
pulse_total_time = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_2); //tid låg+hög
VEVTAND_langd = pulse_total_time-pulse_low_time;
newpulse = NEW_PULSE_TIME_TRUE;
}
*/
}
Återgå till [Allmänt] El/elektronik
Användare som besöker denna kategori: Inga registrerade användare och 7 gäster