Переработанные файлы от Microchip, библиотека для работы с Core Timer.
Функции создания задержек, удобны для тестирования приложений:
void Delay_us (unsigned int us) – формирование в микросекундах
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
void Delay_us(unsigned int us) { unsigned int targetCount; unsigned int bakupCount; // резервного копирования текущее значение счетчика таймера ядра. bakupCount = ReadCoreTimer(); // Core timer increments every 2 sys clock cycles. // Calculate the counts required to complete "us". targetCount = ((SYS_CLOCK_MHZ/1000000)/2) * us; // Перезагрузка ядра таймера. WriteCoreTimer(0); // Подождите, пока ядро таймера завершает подсчет. while(ReadCoreTimer() < targetCount); // Restore count back. WriteCoreTimer(bakupCount + targetCount); } |
void Delay_ms (unsigned int ms) – формирование в миллисекундах
1 2 3 4 |
void Delay_ms(unsigned int ms) { Delay_us(ms*1000); } |
и еще несколько дополнительных функций для чтения и записи в таймер.
Библиотека core_timer

PIC32MZ - Core Timer (библиотека) 1.48 KB 295 downloads
PIC32MZ - Core Timer (библиотека) ...