Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Как оценить загрузку МК?


Как оценить загрузку МК?

Сообщений 1 страница 5 из 5

1

Есть такая, довольно типичная задача:
в прерывании, вызываемом таймером, производится считывание значения АЦП и некоторые арифметические действия. Необходимо оценить, как часто можно вызывать это прерывание.

Пока придумалось следующее:

do
   toggle led
   waitms 200
loop

Меняем значение таймера, когда LED перестает переключаться - максимальное значение достигнуто.
Будет работать? Может есть другие варианты?

0

2

Civil написал(а):

Меняем значение таймера, когда LED перестает переключаться

Этого не произойдёт.
Просто частота переключений будет снизу будет ограничена числом 5 в секунду.

0

3

в начале прерывания ставишь свободный порт в "1", а в конце в "0".
Потом смотришь осциллографом или, на худой конец, вольтметром -
там же получается ШИМ. И оцениваешь заполнение. Так можно
метить и любой другой фрагмент программы

+1

4

Пётр написал(а):

частота переключений будет снизу будет ограничена числом 5 в секунду

Может быть сверху ограничена 5 в секунду? Насколько я понимаю, должен наступить момент, когда команды основного цикла перестанут выполняться т.к. всегда будет активное прерывание. Представим ситуацию, когда таймер вызывает прерывание раз в 1мс, а длительность его выполнения 2мс. Что будет с основным циклом?

0

5

dmm написал(а):

в начале прерывания ставишь свободный порт в "1", а в конце в "0"

Подходит, спасибо

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Как оценить загрузку МК?