Описание библиотеки микросхемы 5023ВС016 процессора "Спутник"
timer_test.c
См. документацию.
1 
30 #include "timer_test.h"
31 
32 
33 const uint32_t sys_freq = 80000000; // Системная частота
34 char dbg_buffer[256]; // Отладочный буфер
35 uint32_t count = 0; // Счетчик
36 
40 void Timer_IRQ(void)
41 {
42  PRINT(" Прерывание от таймера: %d", count++);
43  if(count==10)
44  {
45  // Выключаем прерывания от таймера
46  TIMER_Disable(TIMER1); // Выключение таймера
47  NVIC_DisableIRQ(0); // Запрещение прерывания
48  PRINT("Тест TIMER успешно завершен");
49  }
50  DBG_TX_Flush(); // Вывод всех данных, накопленных в кольцевом буфере, в отладочный UART
51  TIMER_IntClr(TIMER1); // Сбрасываем флаг прерывания от таймера
52 }
53 
54 
58 uint8_t TIMER_Test(void)
59 {
60  PRINT("Тестирование TIMER1");
61  DBG_TX_Flush(); // Вывод всех данных, накопленных в кольцевом буфере, в отладочный UART
62  TIMER_SetValue(TIMER1,50000000); // Установка счетчика таймера
63 
64  // Включение прерывания от таймера
65  TIMER_IntEnable(TIMER1); // Разрешение работы прерываний таймера
66  NVIC_EnableIRQ(Timer1,0); // Разрешение прерывания
67 
68  // Запуск таймера
69  TIMER_Enable(TIMER1); // Включение таймера
70  while (count < 10) {}
71  DBG_TX_Flush(); // Вывод всех данных, накопленных в кольцевом буфере, в отладочный UART
72  return true;
73 }
74 
75 
uint32_t count
Definition: timer_test.c:35
#define PRINT(...)
Макросы для использования отладочного выхода
Definition: debug_uart.h:48
char dbg_buffer[256]
Отладочный буфер
Definition: timer_test.c:34
void NVIC_EnableIRQ(IRQn_T IRQn, uint32_t vec)
Разрешение прерывания
Definition: system.c:74
uint8_t TIMER_Test(void)
Тест таймера
Definition: timer_test.c:58
void TIMER_SetValue(TIMER_T *pTIMER, uint32_t value)
Загрузка значения в таймер
Definition: timer.c:83
Этот файл содержит структуры, макросы и функции необходимые необходимые для тестовой программы для ап...
void Timer_IRQ(void)
Обработчик прерывания Timer_IRQ.
Definition: timer_test.c:40
Definition: system.h:129
#define TIMER1
Указатель на структуру TIMER1.
void TIMER_IntClr(TIMER_T *pTIMER)
Сброс флага прерывания таймера
Definition: timer.c:93
void TIMER_IntEnable(TIMER_T *pTIMER)
Разрешение работы прерываний таймера
Definition: timer.c:54
void TIMER_Enable(TIMER_T *pTIMER)
Включение таймера
Definition: timer.c:35
void NVIC_DisableIRQ(uint32_t vec)
Запрещение прерывания
Definition: system.c:347
const uint32_t sys_freq
Системная частота
Definition: timer_test.c:33
void TIMER_Disable(TIMER_T *pTIMER)
Выключение таймера
Definition: timer.c:44
void DBG_TX_Flush(void)
Вывод всех данных, накопленных в кольцевом буфере, в отладочный UART.
Definition: debug_uart.c:80