millis() micros() переполнение счетчика
- Войдите на сайт для отправки комментариев
Чт, 31/10/2013 - 06:53
добрый день
разбираюсь с проектом, работающим со временем...
для определения задержек используются функции
- millis()
- micros()
делается "замер" до события, потом после события, вычитанием получают "искомое время задержки"
есть одно но! ПЕРЕПОЛНЕНИЕ СЧЕТЧИКА
если оно произойдет во время события, т.е. между замерами, то "искомое время задержки" будет вычислено неверно
вопрос: какие будут по этому мысли, можно ссылки, ключевые слова итд
спасибо
Переписать функцию и добавить счетчик переполнения в файле wiring.c или наверно лучше просто обнулять счетчик этих функций после измерения:
timer0_millis для millis()
timer0_overflow_count для micros()
я об этом думал (просто названия функций не знал :о)
дополнительный вопрос номер 2:
подводные камни есть? (в связи с принудительным обнулением счетчика, по идее это завязано на прерывания итд...)
дополнительный вопрос номер 3:
при переводе проекта с арудины на нативный AVR - какие будут подводные камни (связанные именно с данной темой)
можно линки, ключ.слова итд
добрый день
разбираюсь с проектом, работающим со временем...
для определения задержек используются функции
- millis()
- micros()
делается "замер" до события, потом после события, вычитанием получают "искомое время задержки"
есть одно но! ПЕРЕПОЛНЕНИЕ СЧЕТЧИКА
если оно произойдет во время события, т.е. между замерами, то "искомое время задержки" будет вычислено неверно
вопрос: какие будут по этому мысли, можно ссылки, ключевые слова итд
спасибо
А можно пример кода где это вам мешает ?
Что конкретно у вас там не работает.....
с первым вопросом разобрались, осталисль 2й и 3й