Гл ас д-р инж. Любомир Богданов



Pdf просмотр
страница12/17
Дата06.03.2024
Размер2.94 Mb.
#120572
1   ...   9   10   11   12   13   14   15   16   17
06 timers
Свързани:
01 introduction
Системни таймери


60/86
ПримерHAL библиотеката на
STM32L011 използва SysTick на
μPU за таймаути.
Системни таймери
static HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef* hadc){
uint32_t tickstart = 0U;
if (ADC_IS_ENABLE(hadc) == RESET){
if (ADC_ENABLING_CONDITIONS(hadc) == RESET){
SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
return HAL_ERROR;
}
__HAL_ADC_ENABLE(hadc);
ADC_DelayMicroSecond(ADC_STAB_DELAY_US);
/* Get tick count */
tickstart = HAL_GetTick();
/* Wait for ADC effectively enabled */
while(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == RESET){
if((HAL_GetTick() - tickstart) > ADC_ENABLE_TIMEOUT){
SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
return HAL_ERROR;
}
}
} return HAL_OK;
}


61/86
Часовниците за реално време (RTC, Real Time Clock) - периферни схеми за отмерване на астрономическо време. Те представляват един брояч, към който са свързани няколко регистъра. Стойността на брояча се увеличава с едно на всяка една секунда. В регистрите се записва текущата стойност, като при препълването на един регистър започва попълването на следващия. Препълването на всеки регистър е пропорционално на:
*секунди
*минути
*часове
*дни
*седмици
*месеци
*години
Часовници за реално време (RTC)


62/86
Почти винаги RTC притежават резервно захранване, което позволява отмерване на времето, дори когато системата не
е включена. Типичен пример са персоналните компютри – дори да са изключени, часът и датата остават верни.
За тактова честота на брояча се използват генератори с


Сподели с приятели:
1   ...   9   10   11   12   13   14   15   16   17




©obuch.info 2024
отнасят до администрацията

    Начална страница