15.11.2013, 22:18
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM32F05x TIM6 IRQ
artyomugr,
Код:
|
SysTick_Config(SystemCoreClock / 100); //1ms |
Уверен ?
Короче прерывания будут через 10mS .
Далее через сколько секунд закончится сей цикл ?
Код:
|
if(++DATA›65500) DATA=0;
Delay(1); |
65500/100 = 655 S или 10 минут...
__________________
Осторожно , злой кот
|
|
|
|
15.11.2013, 22:27
|
|
Вид на жительство
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
|
Re: STM32F05x TIM6 IRQ
В проекте еще прерывания от другого таймера работает, как раз 10мс. А тут уже все ок.
ШИМ работает.
Получается при помощи регистра TIM14-›ARR можно задавать разрядность ШИМ , и повышать частоту? А можно на этом таймере , при исходной частоте , снизить частоту ШИМ, ну скажем до 200Гц ? По моему - нет. Верно?
|
|
|
|
15.11.2013, 22:30
|
|
Заблокирован
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
|
Re: STM32F05x TIM6 IRQ
|
|
|
Сказали "Спасибо" nahimovv
|
|
|
15.11.2013, 22:32
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM32F05x TIM6 IRQ
artyomugr, Измени и пробуй .
Код:
|
TIM14-›ARR = 6550-1;
...
SysTick_Config(SystemCoreClock / 1000);
....
if(++DATA›6550) DATA=0;
Delay(1); |
__________________
Осторожно , злой кот
|
|
|
|
15.11.2013, 22:41
|
|
Вид на жительство
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
|
Re: STM32F05x TIM6 IRQ
А при чем системный таймер к ШИМу 14-го таймера?
Вопросик, последний можно сделать маленькую частоту ШИМ? Порядка 200Гц ? И сделать на 14 таймере и не меняя тактовой частоты.
|
|
|
|
15.11.2013, 22:45
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM32F05x TIM6 IRQ
__________________
Осторожно , злой кот
|
|
|
|
15.11.2013, 23:54
|
|
Вид на жительство
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
|
Re: STM32F05x TIM6 IRQ
Дааа, спасибо большое! Проверил, и в правду от системного таймера зависит тактовая всех узлов..
Читал тут: http://chipspace.ru/stm32-systick/
И в последствии подумал что этот счетчик не влияет на периферию... А только служит как дополнительный , для обновления данных и прочих задач.
|
|
|
|
16.11.2013, 00:02
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM32F05x TIM6 IRQ
Сообщение от artyomugr
|
Дааа, спасибо большое! Проверил, и в правду от системного таймера зависит тактовая всех узлов..
|
Гы... Ты так и не понял в чем прикол?
Systick не влияет на таймеры никаким х...
и тем более на тактирование периферии.
Код:
|
while (1)
{
TIM14-›CCR1=DATA;
if(++DATA›65500)DATA=0;
Delay(1);
}
} |
Зато офигенно влиял на сей цикл . Вместо задержки на 1mS у тебя получалась задержка на 10mS .
А счет от 0 до 65500 проходил за 655 секунд.
Ты просто бы зае..ся ждать когда он завершится...
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 16.11.2013 в 00:05.
|
|
|
|
16.11.2013, 00:11
|
|
Вид на жительство
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
|
Re: STM32F05x TIM6 IRQ
А вот и не так!
При такой конфигурации, ШИМ напрочь отказывается работать!
Цитата:
|
TIM14-›ARR = 0xFFFF;
TIM14-›CCR1 = 0x000F;
TIM14-›PSC = 0xFFFF;
|
Моя цель - сделать максимально низкую частоту ШИМ . Порядка 200Гц
Системный таймер почему то влияет на частоту прерывания таймера.
Цитата:
|
void TIM6_DAC_IRQHandler(void)
{
static volatile uint32_t ulTim6Cnt;
if (TIM6-›SR & TIM_SR_UIF)
{
TIM6-›SR &= ~TIM_SR_UIF;
indication_func();
}
}
|
При повышении частоты системного , 6 таймер вместо (1.2*3) кГц начинает генерить прерывание (2.28*3) кГц
Меняю с этого:
Цитата:
|
SysTick_Config(SystemCoreClock / 10);
|
на это:
Цитата:
|
SysTick_Config(SystemCoreClock / 1000);
|
Так как овцеллографа нет - меряю частотомером.
PS: В скором будущем планирую купить
Последний раз редактировалось artyomugr; 16.11.2013 в 00:18.
|
|
|
|
16.11.2013, 00:27
|
|
Вид на жительство
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
|
Re: STM32F05x TIM6 IRQ
Классный ШИМ у STM-ок!!!!!!!!!! Сумасшедший диапазон частот!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:36.
|
|