Добавлено API для UART и TMR
This commit is contained in:
50
Core/App/sysclk.c
Normal file
50
Core/App/sysclk.c
Normal 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++;
|
||||
}
|
||||
Reference in New Issue
Block a user