Easyelectronics.ru

Электроника для всех
Текущее время: 24 окт 2020, 19:38

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



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

Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Как сделать нормальный delay?
СообщениеДобавлено: 28 сен 2012, 17:55 
Старожил

Зарегистрирован: 10 авг 2011, 19:26
Сообщения: 632
>>В миллисекундах.

а в микро- ? хотя бы 5..10 ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как сделать нормальный delay?
СообщениеДобавлено: 28 сен 2012, 19:47 
Старожил
Аватара пользователя

Зарегистрирован: 14 июн 2011, 14:22
Сообщения: 335
reptile писал(а):
а в микро- ? хотя бы 5..10 ?
.. ну так _delay_us это и есть микросекунды. Данный макрос успешно используется для программного I2C. Проверял по осциллографу - работает стабильно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как сделать нормальный delay?
СообщениеДобавлено: 28 сен 2012, 20:54 
Только пришел

Зарегистрирован: 14 май 2012, 16:08
Сообщения: 24
mr_smit писал(а):
Была же статья на эту тему: http://we.easyelectronics.ru/GYUR22/prostoy-start-stm32-taktirovanie-i-zaderzhka.html
Код:
void delay_ms(uint32_t ms) {
   volatile uint32_t nCount;
   RCC_ClocksTypeDef RCC_Clocks;
   RCC_GetClocksFreq (&RCC_Clocks);
   nCount = (RCC_Clocks.HCLK_Frequency/[b]10000[/b])*ms;
   for (; nCount != 0; nCount--);
}

Лично выводил меандр на один из пинов и смотрел осциллографом. Тютелька в тютельку. В миллисекундах.


Я тоже этим кодом пользовался для милисекунд. Только на discovery F4 работает не очень хорошо (почти в два раза быстрее считает чем нужно.... хотя это Я еще проверю).

Doomsday, спасибо за совет, похоже, это то что надо, буду пробовать.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу Пред.  1, 2


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


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

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


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

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

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