реклама на сайте
подробности

 
 
> STM32F103. Высокоскоростной таймер
Evgeniyk
сообщение Nov 7 2012, 14:25
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 62
Регистрация: 5-04-06
Пользователь №: 15 836



Здравствуйте. Пытаюсь завести прерывания по таймеру с частотой 20 МГц. Попытки это сделать успехом не увенчались поэтому я решил попробовать сделать его с максимально возможной частотой. Для этого написал следующий код:

CODE
void TIM_Configuration(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);

/* Time base configuration */
TIM_TimeBaseStructure.TIM_Period = 1;
TIM_TimeBaseStructure.TIM_Prescaler = 0;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);

/* TIM IT enable */
TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);

/* TIM enable counter */
TIM_Cmd(TIM1, ENABLE);
}

void NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure;

/* Enable the TIM_ADC global Interrupt */
NVIC_InitStructure.NVIC_IRQChannel = TIM_ADC_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}

void TIM1_UP_IRQHandler(void)
{
if (TIM_ADC->SR & TIM_SR_UIF)
{
TIM_ADC->SR &= ~TIM_SR_UIF;
HSO_ADC_PORT->BSRR = HSO_ADC_CLK; //нога в единицу
HSO_ADC_PORT->BRR = HSO_ADC_CLK; //нога в ноль
}
}

int main(void)
{
/* NVIC configuration */
NVIC_Configuration();

/* Timer configuration */
TIM_Configuration();

while (1)
{

}

}


Проблема в том что период следования импульсов получился около 520ns. (частота на GPIO установлена в 50 МГц т.е он хотябы с этой частотой должен был отработать). В чем может быть проблема? Как заставить таймер работать от нужной частоты?

Сообщение отредактировал IgorKossak - Nov 7 2012, 20:00
Причина редактирования: [codebox] для длинного кода!!!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 15:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01349 секунд с 7
ELECTRONIX ©2004-2016