STS_E2/Air_Quality_LORAWAN_WINEXT_.../User/system.c

147 lines
2.6 KiB
C

//=============================================================================
// S E N S I R I O N AG, Laubisruetistr. 50, CH-8712 Staefa, Switzerland
//=============================================================================
// Project : SHT3x Sample Code (V1.1)
// File : system.c (V1.1)
// Author : RFU
// Date : 6-Mai-2015
// Controller: STM32F100RB
// IDE : µVision V5.12.0.0
// Compiler : Armcc
// Brief : System functions
//=============================================================================
//-- Includes -----------------------------------------------------------------
#include "system.h"
static __IO uint32_t msCounter;
uint32_t msCounterBak;
uint32_t oneSecond = 0;
uint32_t TimingDelay;
//-----------------------------------------------------------------------------
//void SystemInit(void)
//{
// // no initialization required
//}
//-----------------------------------------------------------------------------
void DelayMicroSeconds(u32t nbrOfUs) /* -- adapt this delay for your uC -- */
{
// u32t i;
// for(i = 0; i < nbrOfUs; i++)
// {
// __nop(); // nop's may be added or removed for timing adjustment
// __nop();
// __nop();
// __nop();
// }
static uint32_t delayTime;
while (nbrOfUs > 0)
{
for (delayTime = 0; delayTime < DELAY_1US_CLOCK; delayTime++)
{
NOP();
}
nbrOfUs--;
}
}
void SysTickConfig(void)
{
/* Setup SysTick Timer for 10ms interrupts */
if (SysTick_Config(SystemCoreClock / 1000))
{
/* Capture error */
while (1);
}
/* Configure the SysTick handler priority */
NVIC_SetPriority(SysTick_IRQn, 0x0);
}
//系统滴答定时器中断函数
void SysTick_Handler(void)
{
if (TimingDelay != 0x00)
{
TimingDelay--;
}
}
void Delay(uint32_t nTime)
{
TimingDelay = nTime;
while (TimingDelay != 0);
}
void DelayMs(uint32_t mS)
{
static uint32_t delayTime;
while (mS > 0)
{
for (delayTime = 0; delayTime < DELAY_MS_CLOCK; delayTime++)
{
NOP();
}
mS--;
}
}
void Delay100Us(uint32_t time)
{
static uint32_t delayTime;
while (time > 0)
{
for (delayTime = 0; delayTime < DELAY_100US_CLOCK; delayTime++)
{
NOP();
}
time--;
}
}
void Delay10Us(uint32_t time)
{
static uint32_t delayTime;
while (time > 0)
{
for (delayTime = 0; delayTime < DELAY_10US_CLOCK; delayTime++)
{
NOP();
}
time--;
}
}
void Delay1Us(uint32_t time)
{
static uint32_t delayTime;
while (time > 0)
{
for (delayTime = 0; delayTime < DELAY_1US_CLOCK; delayTime++)
{
NOP();
}
time--;
}
}