| Таблица 2.2 Описание служебных полей регистра TIMER0TCR | |||
| Разряды | Поле | Значение | Описание | 
| 15 | TIF | 0 1 | Флаг прерывания Таймера 0 ЦПУ (Timer Interrupt Flag) Значение счетного регистра Таймера 0 не декрементировалось до 0. Только чтение. Установка флага происходит при уменьшении значения счетного регистра до 0. Запись в разряд 1 приводит к сбросу флага (TIF = 0). | 
| 14 | TIE | 0/1 | Разряд разрешения прерывания от Таймера 0 ЦПУ (Timer Interrupt Enable) Прерывание запрещено/разрешено | 
| 13 – 12 | Резерв | Зарезервировано | |
| 11 – 10 | FREE SOFT | 00 01 10/11 | Режимы эмуляции Таймера 0 ЦПУ [1] Остановка таймера после следующего декрементирования Остановка таймера после следующего декрементирования до 0 Режимы свободного счета | 
| 9 – 6 | Резерв | Зарезервировано | |
| 5 | TRB | 0 1 | Разряд перезагрузки Таймера 0 ЦПУ (Timer Reload Bit) Результатом чтения разряда TRB всегда является 0 При записи в разряд TRB 1 счетный регистр таймера TIMH:TIM пеpезагружается значением регистра периода PRDH:PRD. Одновременно происходит загрузка регистра счетчика предделителя PSCH:PSC значением регистра коэффициента деления TDDRH:TDDR | 
| 4 | TSS | 0 1 | Разряд состояния остановки Таймера 0 ЦПУ – флаг, с помощью которого можно запустить или остановить таймер Равенство разряда 0 означает, что таймер запущен. Для запуска или перезапуска таймера необходимо записать в разряд 0. После сброса разряд автоматически сбрасывается в 0. Равенство разряда 1 означает, что таймер остановлен. Запись в разряд 1 приведет к остановке таймера. | 
| 3 – 0 | Резерв | 1 | Зарезервировано | 
| Таблица 2.3 Описание служебных полей регистра предделителя TPRH:TPR | ||
| Разряды | Поле | Описание | 
| 15 – 8 | PSCH:PSC | Счетчик предделителя. Разряды содержат текущее значение обратного счета импульсов источника тактирования: значение счетчика уменьшается на 1 до 0. По окончании счета (PSCH:PSC = 0) разряды перезагружаются содержимым TDDRH:TDD, одновременно происходит декрементирование на 1 счетного регистра Таймера 0 TIMH:TIM. Разряды PSCH:PSC также перезагружаются при программной установке в 1 разряда TRB регистра управления Таймера 0 TIMER0TCR. Содержимое разрядов можно прочитать, но непосредственная запись в них невозможна. После сброса все разряды устанавливаются в 0. | 
| 7 – 0 | TDDRH:TDD | Коэффициент предделения. При подсчете (TDDRH:TDD + 1) импульсов происходит уменьшение содержимого счетного регистра TIMH:TIM на 1. При сбросе все разряды принимают нулевое значение. Для увеличения времени счета в целое число раз, от значения требуемого коэффициента необходимо отнять 1 и записать результат в разряды TDDRH:TDD. | 
2.3. Обращение к управляющим регистрам
При обращении используются назначенные регистрам мнемоника и определения (в терминах битовых полей и структур, сведенных в регистровые файлы), прописанные в библиотечном заголовочном файле DSP280x_CpuTimers.h [2]. Его листинг приведен в файле ПРИЛОЖЕНИЯ. Ниже представлен текст программы Example_280xCpuTimer.c, которая является примером конфигурирование и работы с Таймером 0 ЦПУ. Обозначенная в программе последовательность действий является универсальной и может служить руководством к действию при написании собственных программ.
#include "DSP280x_Device.h" // DSP280x Headerfile Include File
#include "DSP280x_Examples.h" // DSP280x Examples Include File
// Объявление прототипа функции-обработчика прерывания от Таймера 0 ЦПУ.
interrupt void cpu_timer0_isr(void);
void main(void)
{
// Шаг 1. Инициализация системы управления:
// ФАПЧ (PLL), сторожевой таймер, разрешение тактирования периферийных модулей.
InitSysCtrl(); // Размещение – файл DSP280x_SysCtrl.c [2].
// Шаг 2. Инициализация модуля в/в GPIO:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.