121 lines
5.2 KiB
C
121 lines
5.2 KiB
C
|
|
/**
|
|||
|
|
* @file cw32f030_awt.h
|
|||
|
|
* @author your name (you@domain.com)
|
|||
|
|
* @brief
|
|||
|
|
* @version 0.1
|
|||
|
|
* @date 2021-05-18
|
|||
|
|
*
|
|||
|
|
* @copyright Copyright (c) 2021
|
|||
|
|
*
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
/*******************************************************************************
|
|||
|
|
*
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
* <EFBFBD>人<EFBFBD><EFBFBD>Դ<EFBFBD>뵼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>̴<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ר<EFBFBD><EFBFBD><EFBFBD>İ<EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD>ɸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƹ<EFBFBD><EFBFBD>ܡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD>ܱ<EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD>κη<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD>人<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD>Ӧ<EFBFBD>̶Գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>֣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṩ<EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD>;<EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>ı<EFBFBD>֤
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD>ۺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><EFBFBD>人<EFBFBD><EFBFBD>Դ<EFBFBD>뵼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪<EFBFBD>䷢<EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĶ<EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӵġ<EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κκ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ծ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>롢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>ڿɽ<EFBFBD>ʡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>
|
|||
|
|
* ijЩ˾<EFBFBD><EFBFBD>Ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӵġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κε<EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ijЩ<EFBFBD><EFBFBD>
|
|||
|
|
* ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><EFBFBD>ܲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*
|
|||
|
|
*******************************************************************************/
|
|||
|
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
|||
|
|
#ifndef __CW32F030_AWT_H
|
|||
|
|
#define __CW32F030_AWT_H
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
extern "C" {
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
/* Includes ------------------------------------------------------------------*/
|
|||
|
|
#include "cw32f030.h"
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
uint32_t AWT_ClkSource; /* ʱ<><CAB1>Դѡ<D4B4><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ0 - 4 */
|
|||
|
|
uint32_t AWT_Prescaler; /* Ԥ<><D4A4><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ1 - 15<31><35><EFBFBD><EFBFBD>Ӧȡֵ<C8A1><D6B5>Χ2<CEA7><32>n<EFBFBD><6E><EFBFBD>ݣ<EFBFBD>n=1,2<><32>15 */
|
|||
|
|
uint32_t AWT_Period; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>ȡֵ<C8A1><D6B5>Χ0x0000 <20><> 0xFFFF. */
|
|||
|
|
uint32_t AWT_Mode; /* AWT<57><54><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD>̶<EFBFBD>Ϊ11 */
|
|||
|
|
} AWT_TimeCntInitTypeDef;
|
|||
|
|
|
|||
|
|
#define AWT_CLKSOURCE_HSIOSC ( uint32_t )(0x00UL << 8)
|
|||
|
|
#define AWT_CLKSOURCE_LSI ( uint32_t )(0x01UL << 8)
|
|||
|
|
#define AWT_CLKSOURCE_HSE ( uint32_t )(0x02UL << 8)
|
|||
|
|
#define AWT_CLKSOURCE_LSE ( uint32_t )(0x03UL << 8)
|
|||
|
|
#define AWT_CLKSOURCE_ETR ( uint32_t )(0x04UL << 8)
|
|||
|
|
#define IS_AWT_CLKSOURCE(SOURCE) (((SOURCE) == AWT_CLKSOURCE_HSIOSC) || \
|
|||
|
|
((SOURCE) == AWT_CLKSOURCE_LSI) || \
|
|||
|
|
((SOURCE) == AWT_CLKSOURCE_HSE) || \
|
|||
|
|
((SOURCE) == AWT_CLKSOURCE_LSE) || \
|
|||
|
|
((SOURCE) == AWT_CLKSOURCE_ETR))
|
|||
|
|
|
|||
|
|
#define AWT_PRS_DIV2 ( uint32_t )(0x01UL << 4)
|
|||
|
|
#define AWT_PRS_DIV4 ( uint32_t )(0x02UL << 4)
|
|||
|
|
#define AWT_PRS_DIV8 ( uint32_t )(0x03UL << 4)
|
|||
|
|
#define AWT_PRS_DIV16 ( uint32_t )(0x04UL << 4)
|
|||
|
|
#define AWT_PRS_DIV32 ( uint32_t )(0x05UL << 4)
|
|||
|
|
#define AWT_PRS_DIV64 ( uint32_t )(0x06UL << 4)
|
|||
|
|
#define AWT_PRS_DIV128 ( uint32_t )(0x07UL << 4)
|
|||
|
|
#define AWT_PRS_DIV256 ( uint32_t )(0x08UL << 4)
|
|||
|
|
#define AWT_PRS_DIV512 ( uint32_t )(0x09UL << 4)
|
|||
|
|
#define AWT_PRS_DIV1024 ( uint32_t )(0x0AUL << 4)
|
|||
|
|
#define AWT_PRS_DIV2048 ( uint32_t )(0x0BUL << 4)
|
|||
|
|
#define AWT_PRS_DIV4096 ( uint32_t )(0x0CUL << 4)
|
|||
|
|
#define AWT_PRS_DIV8192 ( uint32_t )(0x0DUL << 4)
|
|||
|
|
#define AWT_PRS_DIV16384 ( uint32_t )(0x0EUL << 4)
|
|||
|
|
#define AWT_PRS_DIV32768 ( uint32_t )(0x0FUL << 4)
|
|||
|
|
#define IS_AWT_PRS_DIV(DIV) (((DIV) == AWT_PRS_DIV2) || \
|
|||
|
|
((DIV) == AWT_PRS_DIV4) || \
|
|||
|
|
((DIV) == AWT_PRS_DIV8) || \
|
|||
|
|
((DIV) == AWT_PRS_DIV16) || \
|
|||
|
|
((DIV) == AWT_PRS_DIV32) || \
|
|||
|
|
((DIV) == AWT_PRS_DIV64) || \
|
|||
|
|
((DIV) == AWT_PRS_DIV128) || \
|
|||
|
|
((DIV) == AWT_PRS_DIV256) || \
|
|||
|
|
((DIV) == AWT_PRS_DIV512) || \
|
|||
|
|
((DIV) == AWT_PRS_DIV1024) || \
|
|||
|
|
((DIV) == AWT_PRS_DIV2048) || \
|
|||
|
|
((DIV) == AWT_PRS_DIV4096) || \
|
|||
|
|
((DIV) == AWT_PRS_DIV8192) || \
|
|||
|
|
((DIV) == AWT_PRS_DIV16384) || \
|
|||
|
|
((DIV) == AWT_PRS_DIV32768))
|
|||
|
|
|
|||
|
|
#define AWT_MODE_TIMECNT ( uint32_t )(0x03UL << 1)
|
|||
|
|
#define IS_AWT_MODE(MODE) ((MODE) == AWT_MODE_TIMECNT)
|
|||
|
|
#define AWT_CR_EN bv0
|
|||
|
|
|
|||
|
|
#define IS_AWT_ARR(ARR) ((ARR) <= 65535)
|
|||
|
|
|
|||
|
|
#define AWT_IT_UD ((uint32_t)0x08)
|
|||
|
|
#define IS_AWT_IT(IT) ((((IT) & (uint32_t)0xFFFFFFF7) == 0x0000) && ((IT) != 0x0000))
|
|||
|
|
#define IS_AWT_GET_IT(IT) (((IT) == AWT_IT_UD)
|
|||
|
|
|
|||
|
|
|
|||
|
|
void AWT_DeInit(void);
|
|||
|
|
void AWT_TimeCntInit(AWT_TimeCntInitTypeDef* AWT_TimeCntInitStruct);
|
|||
|
|
void AWT_TimeCntStructInit(AWT_TimeCntInitTypeDef* AWT_TimeCntInitStruct);
|
|||
|
|
void AWT_Cmd(FunctionalState NewState);
|
|||
|
|
void AWT_ITConfig(uint32_t AWT_IT, FunctionalState NewState);
|
|||
|
|
ITStatus AWT_GetITStatus(uint32_t AWT_IT);
|
|||
|
|
void AWT_ClearITPendingBit(uint32_t AWT_IT);
|
|||
|
|
void AWT_ClkSourceConfig(uint32_t AWT_ClkSource);
|
|||
|
|
void AWT_PrescalerConfig(uint32_t AWT_Prescaler);
|
|||
|
|
uint16_t AWT_GetCounter(void);
|
|||
|
|
uint16_t AWT_GetAutoreload(void);
|
|||
|
|
uint32_t AWT_GetClkSource(void);
|
|||
|
|
uint32_t AWT_GetPrescaler(void);
|
|||
|
|
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
|