08.02.2011, 13:51
|
|
Прописка
Регистрация: 15.11.2007
Адрес: СПБ
Сообщений: 214
Сказал спасибо: 37
Сказали Спасибо 42 раз(а) в 34 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Отчего же неинтересные? В учебном плане очень даже интересные. В защиту их могу сказать, что такой подход сочетает в себе точность и простую реализацию на с. По поводу "А может мне 2МГц надо. Или вообще 1МГц." - ничего не мешает изменить коэффициент деления и начальное значение. Или макрос, который их сам считает
Альтернатива - ассемблер.
|
|
|
|
08.02.2011, 14:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от a-fisher
|
такой подход сочетает в себе точность и простую реализацию на с.
|
А проверьте. Вызовите функцию задержки 10мкс и посмотрите сколько будет на самом деле. Попробуйте при такте в 16МГц и при такте в 2МГц.
|
|
|
|
08.02.2011, 17:37
|
|
Прописка
Регистрация: 15.11.2007
Адрес: СПБ
Сообщений: 214
Сказал спасибо: 37
Сказали Спасибо 42 раз(а) в 34 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Нечем померить... разве что в цикле мульён раз минус тот же цикл без задержки... Но на моём дискавери проц без кварца, так что думаю, что будет несколько бесполезно...
|
|
|
|
08.02.2011, 17:41
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от a-fisher
|
Нечем померить... разве что в цикле мульён раз минус тот же цикл без задержки...
|
В STVD есть симулятор. Его вполне достаточно.
|
|
|
|
08.02.2011, 17:59
|
|
Прописка
Регистрация: 15.11.2007
Адрес: СПБ
Сообщений: 214
Сказал спасибо: 37
Сказали Спасибо 42 раз(а) в 34 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
чтож, попробую в симуляторе... никогда еще им не пользовался, все время в железе отлаживал , вот только время найду. Не думаю, что результат будет очень уж плох. Там же еще есть константа - компенсация времени инициализации таймера.
Если бы мне понадобились бы точные малые задержки, то я уж точно бы не стал пользоваться пониженной тактовой.
|
|
|
|
08.02.2011, 18:34
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от a-fisher
|
Там же еще есть константа - компенсация времени инициализации таймера.
|
Она забавная. Для миллисекундной задержки это 128 тактов. Для микросекундной 10 тактов. Инициализация вроде одинаковая. В первом случае скорее всего перебор, во втором точно не хватит. Просто вызов и возврат из CLK_PeripheralClockConfig(CLK_Peripheral_TIM4, ENABLE); уже 8 тактов. Плюс сама функция, а они не быстрые обычно. Плюс остальные настройки. Плюс вызов и возврат в/из самой функции delay_10us - еще 8 тактов. Даже с таким разрешением в 10 мкс можно легко получить вместо 10 микросекунд например 13. А это 30% все же.
|
|
|
|
08.02.2011, 23:43
|
|
Вид на жительство
Регистрация: 21.11.2009
Сообщений: 342
Сказал спасибо: 4
Сказали Спасибо 149 раз(а) в 66 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
выделять под задержки целый таймер имхо бред.
|
|
|
|
09.02.2011, 13:17
|
|
Прописка
Регистрация: 15.11.2007
Адрес: СПБ
Сообщений: 214
Сказал спасибо: 37
Сказали Спасибо 42 раз(а) в 34 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Мне это кажется не большим бредом, чем задержки пустыми циклами. Применение задержек вообще считаю неправильным подходом. Но, если уж надо, то я бы сделал через таймер с уходом в слип. Способ программирования каждый выбирает для себя сам. И делай можно переписать под себя. От многих факторов зависит. Можно и первый таймер взять, если он свободен. Там больше возможностей по настройке.
Библиотека у них сырая, но не бесполезная.
|
|
|
|
09.02.2011, 13:54
|
|
Временная регистрация
Регистрация: 26.09.2009
Сообщений: 81
Сказал спасибо: 4
Сказали Спасибо 16 раз(а) в 13 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от a-fisher
|
Мне это кажется не большим бредом, чем задержки пустыми циклами.
|
Все зависит от ситуации, вам не кажется? Бредом может оказаться как первый вариант так и второй и наоборот.
|
|
|
|
09.02.2011, 14:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от a-fisher
|
Мне это кажется не большим бредом, чем задержки пустыми циклами. Применение задержек вообще считаю неправильным подходом.
|
Задержки полезны. В основном короткие. Сформировать импульс старта считывания таймслота DS18x20 например. Там нужно то 2-3 микросекунды, взводить для этого таймер это перебор. Я широко пользуюсь такими короткими программными задержками до 100мкс. Кто взводит таймер на 2мкс?
Сообщение от a-fisher
|
Библиотека у них сырая, но не бесполезная.
|
Она дополняет документацию. Иногда заменяет ее. Пользоваться библиотекой смысла нет - раздутый тормозной код. А вот посмотреть как что делать иногда полезно.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:51.
|
|