Добавлено API для UART и TMR

This commit is contained in:
2025-12-26 18:43:40 +03:00
parent c6e1dc049f
commit 8e350e6a91
22 changed files with 4359 additions and 1854 deletions

50
Core/App/sysclk.c Normal file
View File

@@ -0,0 +1,50 @@
/*==============================================================================
* Инициализация тактирования с использованием бибилотеки PLIB035
*------------------------------------------------------------------------------
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
*==============================================================================
* ЦНИИ СЭТ
*==============================================================================
*/
//-- Includes ------------------------------------------------------------------
#include "periph_config.h"
__IO uint32_t uwTick; // Milliseconds ticks
//-- Defines -------------------------------------------------------------------
//-- Peripheral init functions -------------------------------------------------
void sysclk_init(void)
{
OperationStatus status;
status = RCU_PLL_AutoConfig(SYSCLK_CORE_CLOCK_MHZ*__MHZ, SYSCLK_Oscil_Type);
if (status == ERROR)
{
Error_Handler();
}
SystemCoreClockUpdate();
RCU_ClkOutConfig(RCU_SysPeriphClk_PLLClk, 1, ENABLE);
RCU_ClkOutCmd(ENABLE);
/* Прерывание должно быть каждую миллисекунду:
Для тактирования N Гц это каждый N / 1000 тик */
SysTick_Config(SYSCLK_CORE_CLOCK_MHZ*__MHZ/1000);
}
uint32_t millis(void)
{
return uwTick;
}
void millis_inc(void)
{
uwTick++;
}
uint32_t micros(void)
{
return 0;
}
void micros_inc(void)
{
uwTick++;
}