Easyelectronics.ru

Электроника для всех
Текущее время: 28 сен 2020, 03:08

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: stm32 и systick
СообщениеДобавлено: 21 май 2012, 01:21 
Старожил
Аватара пользователя

Зарегистрирован: 14 окт 2011, 15:46
Сообщения: 221
Откуда: Новосибирск
цель: получить точный таймер для отсчета времени задержки.

код:
Код:

volatile int32_t SysTickDelay=0;

int main(void)
{
...
   InitAll();
...
   while (1)
   {
      while ((SysTickDelay % 1000) != 0) {};

      if (state)
         GPIO_SetBits(GPIOA, GPIO_Pin_0); // мигаем диодиком
      else
      {
         GPIO_ResetBits(GPIOA, GPIO_Pin_0);
      }
...
}

void InitAll( void) {
...
  SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
//  SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
  SysTick_Config(8000000/1000);

  return;
}


вопрос: почему, при указании SysTick_Config(72000000/1000) - тики приходят в 9 раз медленее? вышеприведенный код (когда делим не 72, а 8 мгц на 1000, чтобы получить 1мс) работает, но неясно почему на 9?

в референсе есть строчка: "The SysTick calibration value is set to 9000, which gives a reference time base of 1 ms with
the SysTick clock set to 9 MHz (max HCLK/8).", но я вроде перезаписываю это значение.

второй неясный момент - раскомментирование второй строчки (с указанием делителя на 8) вообще не меняет поведение тиков. т.е. что делим на 8, что не делим - тики идут одинаково.

может я туплю где-то? камень stm32c8t6, плата своя собственная, кристалл внешний.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32 и systick
СообщениеДобавлено: 21 май 2012, 08:20 
Старожил
Аватара пользователя

Зарегистрирован: 27 апр 2011, 07:50
Сообщения: 404
Да походу просто частота у вас не 72мгц, а 8мгц. RCC то настроен?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32 и systick
СообщениеДобавлено: 21 май 2012, 10:05 
Старожил
Аватара пользователя

Зарегистрирован: 14 окт 2011, 15:46
Сообщения: 221
Откуда: Новосибирск
да, настроен. пользую кококс, обычно инициализацию не трогаю без лишней нужды.
даже, если бы проц работал на 8 мгц - почему добавление div8 никак не влияет на частоту systick?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: stm32 и systick
СообщениеДобавлено: 22 май 2012, 00:01 
Старожил
Аватара пользователя

Зарегистрирован: 14 окт 2011, 15:46
Сообщения: 221
Откуда: Новосибирск
тема закрыта - и правда плата косячная. кварц перепаял - не помогло (хз в чем дело), но проверил на другой - все работает как и ожидалось.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB