Project

General

Profile

R1 SYSTIM » History » Version 1

krufter_multiclet, 06/16/2015 01:08 PM

1 1 krufter_multiclet
h1. Системный таймер Мультиклет R1
2 1 krufter_multiclet
3 1 krufter_multiclet
Системный таймер предназначен для формирования заданных периодических или однократных временных интервалов. Таймер представляет собой инкрементирующий счетчик с делителем тактового сигнала на входе. Конечное значение счетчика записывается в регистр периода таймера, управление осуществляется через регистр STxCR, счет начинается с нуля. По истечении заданного временного интервала формируется запрос на обработку прерывания.
4 1 krufter_multiclet
5 1 krufter_multiclet
*Режимы работы*
6 1 krufter_multiclet
* Однократное формирование временного интервала – таймер запускается пользователем (в бит STxCR(EN)=1), а по достижении счетчиком таймера значения, заданного в регистре периода таймера, таймером выдается запрос на обработку прерывания, после этого бит STxCR(EN) устанавливается в "0", и таймер останавливается до следующей записи значения "1", в STxCR(EN);
7 1 krufter_multiclet
* Периодическая генерация временных интервалов – таймер запускается и останавливается пользователем (в бит STxCR(EN) записывается соответствующее значение). По достижении счетчиком таймера значения, заданного в регистре периода таймера, таймером выдается запрос обработки прерывания, счетчик перезагружается значением "0", и работа таймера продолжается до того, как пользователь запишет значение "0" в бит STxCR(EN).
8 1 krufter_multiclet
9 1 krufter_multiclet
При записи в регистр STxPRDR новое значение периода будет установлено и счетчик начнет считать с нуля. При записи в STxCR(PREDIV) новое значение предделителя будет загружено и счетчик начнет считать с нуля. Настоятельно рекомендуется перед изменением режима работы таймера сначала остановить его, записав STxCR(EN)=0, потом задать новые значения в регистре STxCR. Режим работы системного таймера устанавливается в STxCR(MD). Доступно 4 системных таймера: ST0, ST1, ST2, ST3.