Например TDA7294

Форум РадиоКот • Просмотр темы - организация грамотной задержки xc8
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пт май 16, 2025 06:09:47

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: организация грамотной задержки xc8
СообщениеДобавлено: Ср сен 23, 2015 00:38:40 
Открыл глаза

Зарегистрирован: Чт июл 30, 2015 07:40:05
Сообщений: 71
Рейтинг сообщения: 0
как грамотно с точки зрения профессионального программиста недоверяющего стандартным либам реализовать функцию задержки аналогичную стандартной __delay_ms () но более точной чтоли.просто есть сомнения в точности стандартной задержки и плюс вот эта ветка на форуме http://forum.easyelectronics.ru/viewtopic.php?f=5&t=22941.
то есть как реализовать зажержки и написать функцию в ручную?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация грамотной задержки xc8
СообщениеДобавлено: Ср сен 23, 2015 06:13:36 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7012
Откуда: Ижевск
Рейтинг сообщения: 0
Профессиональный программист доверяет стандартным либам, бо знает, что велосипед уже изобретен. Это так, к слову. Насчет плюс вот той ветки - нужно паять не в симуляторах, а в реале. Кстати, вы до конца ту ветку дочитали? Такое ощущение, что нет. Теперь про сам _delay_ms(). В любых непонятных случаях нужно читать инструкции. В данном случае описание в хелпе. Многое, знаете ли, встает на свои места. И последнее. Если уж так не терпится написать более точное, то пишем ассемблерную вставку, просчитывая время выполнения каждой команды, не забыв при этом отключить прерывания. Да, и еще, - ну и насколько точной должна быть задержка? Какие такие мюзоны вы там просчитать хотите?

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация грамотной задержки xc8
СообщениеДобавлено: Ср сен 23, 2015 06:23:24 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23681
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
rakka писал(а):
как грамотно с точки зрения профессионального программиста

Грамотно завести в проекте системный таймер и все задержки формировать в его обработчике.
Но если нужна не приблизительная задержка, а точный временной интервал с хорошим разрешением по времени в программе, то для этого используют Output Compare без вывода на пин, а лишь с прерыванием.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация грамотной задержки xc8
СообщениеДобавлено: Ср сен 23, 2015 09:45:03 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1337
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4558
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
rakka писал(а):
как грамотно с точки зрения профессионального программиста недоверяющего стандартным либам реализовать функцию задержки аналогичную стандартной __delay_ms () но более точной чтоли.просто есть сомнения в точности стандартной задержки и плюс вот эта ветка на форуме http://forum.easyelectronics.ru/viewtopic.php?f=5&t=22941.
то есть как реализовать зажержки и написать функцию в ручную?
А откуда сомнения такие ? Или просто из головы ?
Да и вышеупомянутую ветку до конца дочитать не мешало бы.


Вернуться наверх
 
Открыт интернет-магазин MEAN WELL.Market – весь ассортимент MEAN WELL, выгодные цены

Открыта удобная площадка с выгодными ценами, поставляющая весь ассортимент продукции, производимой компанией MEAN WELL – от завоевавших популярность и известных на рынке изделий до новинок. MEAN WELL.Market предоставляет гарантийную и сервисную поддержку, удобный подбор продукции, оперативную доставку по России. На сайте интернет-магазина посетители смогут найти обзоры, интересные статьи о применении, максимальный объем технических сведений.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: организация грамотной задержки xc8
СообщениеДобавлено: Ср сен 23, 2015 12:43:00 
Открыл глаза

Зарегистрирован: Чт июл 30, 2015 07:40:05
Сообщений: 71
Рейтинг сообщения: 0
просто я видел что делают так,зачем?
for (i=0;i<10;i++)
__delay_ms (10);
вот так примерно реализуют задержку на 100 милисек.зачем же эти извращения если можно просто написать __delay_ms (100);


Вернуться наверх
 
LED-драйверы MOSO - надежные решения для индустриальных приложений

Продукция MOSO предназначена в основном для индустриальных приложений, использует инновационные решения на основе более 200 собственных патентов для силовой электроники и соответствует международным стандартам. LED-драйверы MOSO применяются в системах наружного освещения разных отраслей, включая промышленность, сельское хозяйство, транспорт и железную дорогу. В ряде серий реализована возможность дистанционного контроля и программирования работы по заданному сценарию. Разберем решения MOSO подробнее>>
Не в сети
 Заголовок сообщения: Re: организация грамотной задержки xc8
СообщениеДобавлено: Ср сен 23, 2015 12:58:25 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7012
Откуда: Ижевск
Рейтинг сообщения: 0
О-о-о, брат, чужая душа потёмки.

_________________
Docendo discimus


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: организация грамотной задержки xc8
СообщениеДобавлено: Ср сен 23, 2015 13:18:43 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18383
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
никакой потёмки нет!
товарищ не изучил документацию и удивляется.
а в документации написано, что _delay_ms - это не функция, а макрос. и для его нормальной работы необходимо в параметре указывать КОНСТАНТУ, а не переменную. с переменной получается, мягко говоря, кака вместо задержки.

так вот когда кому-то приспичит сделать задержку ПЕРЕМЕННОЙ величины, вот тогда и делают цикл: итерациями цикла нагоняют количественно задержку из КОНСТАНТНЫХ маленьких задержек.

P.S. не надо делать два подчеркивания в начале имени макроса _delay_ms - их там не два, а один.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация грамотной задержки xc8
СообщениеДобавлено: Ср сен 23, 2015 14:09:07 
Открыл глаза

Зарегистрирован: Чт июл 30, 2015 07:40:05
Сообщений: 71
Рейтинг сообщения: 0
во-первых там именно два нижних подчеркивания,куда не посмотри все пишу два.работает.
но вот насчет константы - я 10 ставлю от головы,а сколько там на самом деле то константа?где посмотреть?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация грамотной задержки xc8
СообщениеДобавлено: Ср сен 23, 2015 14:32:10 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7012
Откуда: Ижевск
Рейтинг сообщения: 0
10, т.б. число, есть константа.
аny_name - т.б. слово, объявленное ранее, есть переменная.
Цитата:
куда не посмотри все пишу два

Я пишу совсем без подчеркивания. Но! Изучайте матчасть, т.б. IDE.

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация грамотной задержки xc8
СообщениеДобавлено: Ср сен 23, 2015 15:16:29 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18383
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
rakka писал(а):
во-первых там именно два нижних подчеркивания,куда не посмотри все пишу два.работает.
но вот насчет константы - я 10 ставлю от головы,а сколько там на самом деле то константа?где посмотреть?

цитирую delay.h, по-моему, это эталон написания, не так ли?
Цитата:
Код:
#if !defined(__DOXYGEN__)
static inline void _delay_us(double __us) __attribute__((always_inline));
static inline void _delay_ms(double __ms) __attribute__((always_inline));
#endif
надеюсь, вы согласны, что если в хедере одно подчеркивание, то одно надо и в программе писать?

константа определяет задержку в миллисекундах. хотите 10, хотите 24 - дело ваше

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация грамотной задержки xc8
СообщениеДобавлено: Ср сен 23, 2015 20:07:23 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1337
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4558
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
ARV, речь идёт о компиляторе XC8. В нём delay_ms и delay_us пишутся именно с двумя подчёркиваниями.

rakka писал(а):
где посмотреть?
В документации на компилятор. Благо она нормальная у XC.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация грамотной задержки xc8
СообщениеДобавлено: Чт сен 24, 2015 06:43:07 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18383
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
тогда прошу пардону. мои сообщения можно удалить - виноват.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация грамотной задержки xc8
СообщениеДобавлено: Чт сен 24, 2015 09:09:59 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7012
Откуда: Ижевск
Рейтинг сообщения: 0
Не надо удалять.
ARV писал(а):
...когда кому-то приспичит сделать задержку ПЕРЕМЕННОЙ величины, вот тогда и делают цикл: итерациями цикла нагоняют количественно задержку из КОНСТАНТНЫХ маленьких задержек...

В самый корень.

_________________
Docendo discimus


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

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


Кто сейчас на форуме

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


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

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


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y