R1 SYSTIM » History » Version 2
krufter_multiclet, 06/16/2015 01:13 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. |
10 | 2 | krufter_multiclet | |
11 | 2 | krufter_multiclet | *Регистр периода системного таймера STxPRDR:* |
12 | 2 | krufter_multiclet | 0-31 - период системного таймера. |
13 | 2 | krufter_multiclet | |
14 | 2 | krufter_multiclet | *Регистр управления системного таймера STxCR:* |
15 | 2 | krufter_multiclet | 0 - разрешение работы системного таймера (0 - запрещено, 1 - разрешено); |
16 | 2 | krufter_multiclet | 1 - выбор режима работы (0 - однократный, 1 - периодический); |
17 | 2 | krufter_multiclet | 2-7 - резерв; |
18 | 2 | krufter_multiclet | 8-31 - предделитель системного таймера. |
19 | 2 | krufter_multiclet | |
20 | 2 | krufter_multiclet | *Регистр периода системного таймера STxVAL:* |
21 | 2 | krufter_multiclet | 0-31 - текущее значение системного таймера. |