/**
|
******************************************************************************
|
* @file xl_uart.c
|
* @author Kirk
|
* @version 4.5.2
|
* @date Fri Mar 26 17:29:12 2021
|
* @brief This file provide function about SIM firmware program
|
******************************************************************************
|
* @attention
|
*
|
* 2019 by Chipways Communications,Inc. All Rights Reserved.
|
* This software is supplied under the terms of a license
|
* agreement or non-disclosure agreement with Chipways.
|
* Passing on and copying of this document,and communication
|
* of its contents is not permitted without prior written
|
* authorization.
|
*
|
* <h2><center>© COPYRIGHT 2019 Chipways</center></h2>
|
******************************************************************************
|
*/
|
#if defined(__cplusplus)
|
extern "C" {
|
#endif /* __cplusplus */
|
|
/* Includes ---------------------------------------------------------------*/
|
#include "xl_sim.h"
|
|
/** @addtogroup XL6600_StdPeriph_Driver
|
* @{
|
*/
|
|
/** @defgroup SIM SIM Module
|
* @brief SIM Driver Modules Library
|
* @{
|
*/
|
|
/* Private typedef -----------------------------------------------------------*/
|
/* Private define ------------------------------------------------------------*/
|
/* Private macro -------------------------------------------------------------*/
|
/* Private variables ---------------------------------------------------------*/
|
/* Private function prototypes -----------------------------------------------*/
|
/* Private functions ---------------------------------------------------------*/
|
|
|
/** @defgroup SIM_Private_Functions
|
* @{
|
*/
|
|
|
/**
|
* @brief ÖØÐÂÉèÖÃSIM¼Ä´æÆ÷״̬.
|
* @param None
|
* @retval None
|
*/
|
void SIM_DeInit(void)
|
{
|
/* Deinitializes to default reset values */
|
SIM->SOPT0 = 0x0000000C;
|
SIM->SOPT1 = 0x00000000;
|
SIM->PINSEL0 = 0x00000000;
|
SIM->PINSEL1 = 0x00000000;
|
SIM->SCGC = 0x00000800;
|
SIM->CLKDIV = 0x00000000;
|
}
|
|
|
/**
|
* @brief ¶ÁÈ¡Æ÷¼þPINID
|
* @param None
|
* @retval PINID ·µ»ØPinµÄID
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg PINID_8_PIN: 8Òý½ÅÆ÷¼þ
|
* @arg PINID_16_PIN: 16Òý½ÅÆ÷¼þ
|
* @arg PINID_20_PIN: 20Òý½ÅÆ÷¼þ
|
* @arg PINID_24_PIN: 24Òý½ÅÆ÷¼þ
|
* @arg PINID_32_PIN: 32Òý½ÅÆ÷¼þ
|
* @arg PINID_44_PIN: 44Òý½ÅÆ÷¼þ
|
* @arg PINID_48_PIN: 48Òý½ÅÆ÷¼þ
|
* @arg PINID_64_PIN: 64Òý½ÅÆ÷¼þ
|
* @arg PINID_80_PIN: 80Òý½ÅÆ÷¼þ
|
* @arg PINID_100_PIN: 100Òý½ÅÆ÷¼þ
|
* @arg PINID_RESERVE_PIN: ±£Áô
|
*/
|
uint32_t SIM_ReadFPINID(void)
|
{
|
return (SIM->SRSID & SIM_SRSID_PINID_MASK) >> SIM_SRSID_PINID_SHIFT;
|
}
|
|
/**
|
* @brief »ñÈ¡¸´Î»ÔÒò
|
* @param SIM: ¸´Î»µÄÔÒò
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg SIM_ECCERR_RESET: ECCУÑé³ö´í¸´Î»
|
* @arg SIM_LVD_RESET: µÍµçÑ¹Ìø±ä»òÉϵ縴λ
|
* @arg SIM_WDOG_RESET: ¿´ÃŹ·¸´Î»
|
* @arg SIM_PIN_RESET: ÍⲿÒý½Å¸´Î»
|
* @arg SIM_POR_RESET: Éϵ縴λ
|
* @arg SIM_SW_RESET: Èí¼þ¸´Î»
|
* @retval ¸´Î»×´Ì¬(TRUE or FALSE)
|
*/
|
FlagStatus SIM_GetRstCauses(uint32_t ResetCause)
|
{
|
FlagStatus ret;
|
|
if( ((SIM->SRSID >> ResetCause)&(uint32_t)0x01) != 0u)
|
{
|
ret = SET;
|
}
|
else
|
{
|
ret = RESET;
|
}
|
|
return ret;
|
}
|
|
/**
|
* @brief Çå³ý¸´Î»ÔÒò±êÖ¾
|
* @param SIM: Çå³þ¸´Î»µÄÔÒò
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg SIM_ECCERR_RESET: ECCУÑé³ö´í¸´Î»
|
* @arg SIM_LVD_RESET: µÍµçÑ¹Ìø±ä»òÉϵ縴λ
|
* @arg SIM_WDOG_RESET: ¿´ÃŹ·¸´Î»
|
* @arg SIM_PIN_RESET: ÍⲿÒý½Å¸´Î»
|
* @arg SIM_POR_RESET: Éϵ縴λ
|
* @arg SIM_SW_RESET: Èí¼þ¸´Î»
|
* @retval None
|
*/
|
void SIM_ClrRstCauses(uint8_t ResetCause)
|
{
|
SIM->SRSID |= ((uint32_t)0x01 << ResetCause);
|
}
|
|
/**
|
* @brief NMIÒý½ÅʹÄÜ
|
* @param State: NMIÒý½ÅʹÄÜ״̬
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg ENABLE: NMIÒý½ÅʹÄÜ
|
* @arg DISABLE: NMIÒý½ÅʧÄÜ
|
* @retval None
|
*/
|
void SIM_SOPT0_NMIECmd(FunctionalState State)
|
{
|
if(State == ENABLE)
|
{
|
SIM->SOPT0 |= SIM_SOPT0_NMIE_MASK;
|
}
|
else
|
{
|
SIM->SOPT0 &= ~SIM_SOPT0_NMIE_MASK;
|
}
|
}
|
|
/**
|
* @brief RESETÒý½ÅʹÄÜ
|
* @param State: RESETÒý½ÅʹÄÜ״̬
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg ENABLE: RESETÒý½ÅʹÄÜ
|
* @arg DISABLE: RESETÒý½ÅʧÄÜ
|
* @retval None
|
*/
|
void SIM_SOPT0_RSTPECmd(FunctionalState State)
|
{
|
if(State == ENABLE)
|
{
|
SIM->SOPT0 |= SIM_SOPT0_RSTPE_MASK;
|
}
|
else
|
{
|
SIM->SOPT0 &= ~SIM_SOPT0_RSTPE_MASK;
|
}
|
}
|
|
/**
|
* @brief SWDÒý½ÅʹÄÜ
|
* @param State: SWDÒý½ÅʹÄÜ״̬
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg ENABLE: SWDÒý½ÅʹÄÜ
|
* @arg DISABLE: SWDÒý½ÅʧÄÜ
|
* @retval None
|
*/
|
void SIM_SOPT0_SWDECmd(FunctionalState State)
|
{
|
if(State == ENABLE)
|
{
|
SIM->SOPT0 |= SIM_SOPT0_SWDE_MASK;
|
}
|
else
|
{
|
SIM->SOPT0 &= ~SIM_SOPT0_SWDE_MASK;
|
}
|
}
|
|
/**
|
* @brief ACMP´¥·¢FTM2´¥·¢Ô´Ñ¡Ôñ
|
* @param TriggerType: ´¥·¢Ô´Ñ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg ACMP0_OUTPUT_TRIGGER_FTM2: ACMP0Êä³ö´¥·¢FTM2
|
* @arg ACMP1_OUTPUT_TRIGGER_FTM2: ACMP1Êä³ö´¥·¢FTM2
|
* @retval None
|
*/
|
void SIM_SOPT0_ACMPT_FTM2Config(uint8_t TriggerType)
|
{
|
if(TriggerType == ACMP1_OUTPUT_TRIGGER_FTM2)
|
{
|
SIM->SOPT0 |= SIM_SOPT0_ACTRG_MASK;
|
}
|
else
|
{
|
SIM->SOPT0 &= ~SIM_SOPT0_ACTRG_MASK;
|
}
|
}
|
|
/**
|
* @brief UART0ÊäÈëÐźÅÂ˲¨Æ÷Ñ¡Ôñ
|
* @param FilterType: Â˲¨Æ÷Ñ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg UART0_RXD0_FILTER_NONE: ÎÞÂ˲¨Æ÷
|
* @arg UART0_RXD0_FILTER_ACMP0: Â˲¨Æ÷ACMP0
|
* @arg UART0_RXD0_FILTER_ACMP1: Â˲¨Æ÷ACMP1
|
* @retval None
|
*/
|
void SIM_SOPT0_UART0FilterConfig(uint32_t FilterType)
|
{
|
SIM->SOPT0 &= ~SIM_SOPT0_RXDFE_MASK;
|
SIM->SOPT0 |= (FilterType << SIM_SOPT0_RXDFE_SHIFT);
|
}
|
|
/**
|
* @brief FTM1ͨµÀ1²¶×½RTCÒç³öʹÄÜ
|
* @param State: FTM1ͨµÀ1²¶×½RTCÒç³öʹÄÜ״̬
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg ENABLE: ʹÄÜFTM1ͨµÀ1²¶×½RTCÒç³ö
|
* @arg DISABLE: ʧÄÜFTM1ͨµÀ1²¶×½RTCÒç³ö
|
* @retval None
|
*/
|
void SIM_SOPT0_FTM1CH1C_RTCOutputCmd(FunctionalState State)
|
{
|
if(State == ENABLE)
|
{
|
SIM->SOPT0 |= SIM_SOPT0_RTCC_MASK;
|
}
|
else
|
{
|
SIM->SOPT0 &= ~SIM_SOPT0_RTCC_MASK;
|
}
|
}
|
|
/**
|
* @brief FTM1ͨµÀ0²¶×½ACMP0Êä³öʹÄÜ
|
* @param State: FTM1ͨµÀ0²¶×½ACMP0Êä³öʹÄÜ״̬
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg ENABLE: ʹÄÜFTM1ͨµÀ0²¶×½ACMP0Êä³ö
|
* @arg DISABLE: ʧÄÜFTM1ͨµÀ0²¶×½ACMP0Êä³ö
|
* @retval None
|
*/
|
void SIM_SOPT0_FTM1CH0C_ACMP0OCmd(FunctionalState State)
|
{
|
if(State == ENABLE)
|
{
|
SIM->SOPT0 |= SIM_SOPT0_ACIC_MASK;
|
}
|
else
|
{
|
SIM->SOPT0 &= ~SIM_SOPT0_ACIC_MASK;
|
}
|
}
|
|
/**
|
* @brief FTM0ͨµÀ1²¶×½UART0ÊäÈëʹÄÜ
|
* @param State: FTM0ͨµÀ1²¶×½UART0ÊäÈëʹÄÜ״̬
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg ENABLE: ʹÄÜFTM0ͨµÀ1²¶×½UART0ÊäÈë
|
* @arg DISABLE: ʧÄÜFTM0ͨµÀ1²¶×½UART0ÊäÈë
|
* @retval None
|
*/
|
void SIM_SOPT0_FTM0CH1C_UART0ICmd(FunctionalState State)
|
{
|
if(State == ENABLE)
|
{
|
SIM->SOPT0 |= SIM_SOPT0_RXDCE_MASK;
|
}
|
else
|
{
|
SIM->SOPT0 &= ~SIM_SOPT0_RXDCE_MASK;
|
}
|
}
|
|
/**
|
* @brief Éú³ÉFTM2Ä£¿éµÄPWMͬ²½´¥·¢Ê¹ÄÜ
|
* @param State: Éú³ÉFTM2Ä£¿éµÄPWMͬ²½´¥·¢Ê¹ÄÜ״̬
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg ENABLE: ʹÄÜÉú³ÉFTM2Ä£¿éµÄPWMͬ²½´¥·¢
|
* @arg DISABLE: ʧÄÜÉú³ÉFTM2Ä£¿éµÄPWMͬ²½´¥·¢
|
* @retval None
|
*/
|
void SIM_SOPT0_FTM2S_PWMCmd(FunctionalState State)
|
{
|
if(State == ENABLE)
|
{
|
SIM->SOPT0 |= SIM_SOPT0_FTMSYNC_MASK;
|
}
|
else
|
{
|
SIM->SOPT0 &= ~SIM_SOPT0_FTMSYNC_MASK;
|
}
|
}
|
|
/**
|
* @brief FTM0ͨµÀ0µ÷ÖÆUART0Êä³öʹÄÜ
|
* @param State: FTM0ͨµÀ0µ÷ÖÆUART0Êä³öʹÄÜ״̬
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg ENABLE: ʹÄÜFTM0ͨµÀ0µ÷ÖÆUART0Êä³ö
|
* @arg DISABLE: ʧÄÜFTM0ͨµÀ0µ÷ÖÆUART0Êä³ö
|
* @retval None
|
*/
|
void SIM_SOPT0_FTM0M_UART0OutputCmd(FunctionalState State)
|
{
|
if(State == ENABLE)
|
{
|
SIM->SOPT0 |= SIM_SOPT0_TXDME_MASK;
|
}
|
else
|
{
|
SIM->SOPT0 &= ~SIM_SOPT0_TXDME_MASK;
|
}
|
}
|
|
/**
|
* @brief ×ÜÏßʱÖÓÊä³öÅäÖÃ
|
* @param Divide: ×ÜÏßʱÖÓÊä³ö·ÖƵ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg BUSCLOCK_OUTPUT_DIVIDE_1: ×ÜÏßʱÖÓÊä³ö1·ÖƵ
|
* @arg BUSCLOCK_OUTPUT_DIVIDE_2: ×ÜÏßʱÖÓÊä³ö2·ÖƵ
|
* @arg BUSCLOCK_OUTPUT_DIVIDE_4: ×ÜÏßʱÖÓÊä³ö4·ÖƵ
|
* @arg BUSCLOCK_OUTPUT_DIVIDE_8: ×ÜÏßʱÖÓÊä³ö8·ÖƵ
|
* @arg BUSCLOCK_OUTPUT_DIVIDE_16: ×ÜÏßʱÖÓÊä³ö16·ÖƵ
|
* @arg BUSCLOCK_OUTPUT_DIVIDE_32: ×ÜÏßʱÖÓÊä³ö32·ÖƵ
|
* @arg BUSCLOCK_OUTPUT_DIVIDE_64: ×ÜÏßʱÖÓÊä³ö64·ÖƵ
|
* @arg BUSCLOCK_OUTPUT_DIVIDE_128: ×ÜÏßʱÖÓÊä³ö128·ÖƵ
|
* @retval None
|
*/
|
void SIM_SOPT0_BusClockDivide(uint8_t Divide)
|
{
|
SIM->SOPT0 &= ~SIM_SOPT0_BUSREF_MASK;
|
SIM->SOPT0 |= ((uint32_t)Divide << SIM_SOPT0_BUSREF_SHIFT);
|
}
|
|
/**
|
* @brief ×ÜÏßʱÖÓÊä³öʹÄÜ
|
* @param State: ×ÜÏßʱÖÓÊä³öʹÄÜ״̬
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg ENABLE: ʹÄÜ×ÜÏßʱÖÓÊä³ö
|
* @arg DISABLE: ʧÄÜ×ÜÏßʱÖÓÊä³ö
|
* @retval None
|
*/
|
void SIM_SOPT0_BusClockOutputCmd(FunctionalState State)
|
{
|
if(State == ENABLE)
|
{
|
SIM->SOPT0 |= SIM_SOPT0_CLKOE_MASK;
|
}
|
else
|
{
|
SIM->SOPT0 &= ~SIM_SOPT0_CLKOE_MASK;
|
}
|
}
|
|
/**
|
* @brief »ñÈ¡FTM2´¥·¢ÑÓ³Ù״̬
|
* @param None
|
* @retval FTM2´¥·¢ÑÓ³Ù״̬(TRUE or FALSE)
|
*/
|
FlagStatus SIM_SOPT0_FTM2DelayTStatus(void)
|
{
|
FlagStatus ret;
|
|
if( ((SIM->SOPT0 & SIM_SOPT0_DLYACT_MASK) >> SIM_SOPT0_DLYACT_SHIFT) != 0u)
|
{
|
ret = SET;
|
}
|
else
|
{
|
ret = RESET;
|
}
|
|
return ret;
|
}
|
|
/**
|
* @brief ÅäÖÃFTM2´¥·¢ADC²ÉÑùÑÓ³Ùʱ¼ä
|
* @param Delay: FTM2´¥·¢ADC²ÉÑùÑÓ³Ùʱ¼ä(0~255)
|
* @retval None
|
*/
|
void SIM_SOPT0_FTM2DelayTConfig(uint8_t Delay)
|
{
|
SIM->SOPT0 &= ~SIM_SOPT0_DELAY_MASK;
|
SIM->SOPT0 |= ((uint32_t)Delay << SIM_SOPT0_DELAY_SHIFT);
|
}
|
|
|
/**
|
* @brief PWTIN2ÊäÈëÐźÅÑ¡Ôñ
|
* @param InputType: PWTIN2ÊäÈëÐźÅ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg PWTIN2_INPUT_ACMP1OUT: ACMP1µÄÊä³öΪPWTIN2µÄÊäÈë
|
* @arg PWTIN2_INPUT_ACMP0OUT: ACMP0µÄÊä³öΪPWTIN2µÄÊäÈë
|
* @retval None
|
*/
|
void SIM_SOPT1_PWTIN2InputConfig(uint8_t InputType)
|
{
|
if(InputType == PWTIN2_INPUT_ACMP0OUT)
|
{
|
SIM->SOPT1 |= SIM_SOPT1_ACPWTS_MASK;
|
}
|
else
|
{
|
SIM->SOPT1 &= ~SIM_SOPT1_ACPWTS_MASK;
|
}
|
}
|
|
/**
|
* @brief PWTIN3ÊäÈëÐźÅÑ¡Ôñ
|
* @param None
|
* @param InputType: PWTIN3ÊäÈëÐźÅ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg PWTIN3_INPUT_UART0RX: UART0µÄÊäÈëΪPWTIN3µÄÊäÈë
|
* @arg PWTIN3_INPUT_UART1RX: UART1µÄÊäÈëΪPWTIN3µÄÊäÈë
|
* @arg PWTIN3_INPUT_UART2RX: UART2µÄÊäÈëΪPWTIN3µÄÊäÈë
|
* @retval None
|
*/
|
void SIM_SOPT1_PWTIN3InputConfig(uint8_t InputType)
|
{
|
SIM->SOPT1 &= ~SIM_SOPT1_UARTPWTS_MASK;
|
SIM->SOPT1 |= ((uint32_t)InputType << SIM_SOPT1_UARTPWTS_SHIFT);
|
}
|
|
/**
|
* @brief ADCÓ²¼þ´¥·¢Ô´Ñ¡Ôñ
|
* @param TriggerType: ADCÓ²¼þ´¥·¢Ô´
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg ADC_HT_RTCOVERFLOW: RTCÒç³ö´¥·¢
|
* @arg ADC_HT_FTM0: FTM0´¥·¢
|
* @arg ADC_HT_FTM2UPDATE: FTM2³õʼ´¥·¢
|
* @arg ADC_HT_FTM2CAPTURE: FTM2Æ¥Åä´¥·¢
|
* @arg ADC_HT_PITCH0OVERFLOW: PITͨµÀ0Òç³ö´¥·¢
|
* @arg ADC_HT_PITCH1OVERFLOW: PITͨµÀ1Òç³ö´¥·¢
|
* @arg ADC_HT_ACMP0OUTPUT: ACMP0Êä³ö´¥·¢
|
* @arg ADC_HT_ACMP1OUTPUT: ACMP1Êä³ö´¥·¢
|
* @arg ADC_HT_FTM2CH1MAP: FTM2ͨµÀ1Æ¥Åä´¥·¢
|
* @arg ADC_HT_FTM2CH2MAP: FTM2ͨµÀ2Æ¥Åä´¥·¢
|
* @arg ADC_HT_FTM2CH3MAP: FTM2ͨµÀ3Æ¥Åä´¥·¢
|
* @arg ADC_HT_FTM2CH4MAP: FTM2ͨµÀ4Æ¥Åä´¥·¢
|
* @arg ADC_HT_FTM2CH5MAP: FTM2ͨµÀ5Æ¥Åä´¥·¢
|
* @arg ADC_HT_FTM1CH0MAP: FTM1ͨµÀ0Æ¥Åä´¥·¢
|
* @arg ADC_HT_FTM1CH1MAP: FTM1ͨµÀ1Æ¥Åä´¥·¢
|
* @arg ADC_HT_FTM0CH1MAP: FTM0ͨµÀ1Æ¥Åä´¥·¢
|
* @retval None
|
*/
|
void SIM_SOPT1_ADCHardwareTConfig(uint8_t TriggerType)
|
{
|
SIM->SOPT1 &= ~SIM_SOPT1_ADHWT_MASK;
|
SIM->SOPT1 |= ((uint32_t)TriggerType << SIM_SOPT1_ADHWT_SHIFT);
|
}
|
|
/**
|
* @brief UART0¶Ë¿ÚÒý½ÅÑ¡Ôñ 20190729XU
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg UART0_PS_PTB0_PTB1: UART0_RXºÍUART0_TX·Ö±ðÓ³Éäµ½PTB0ºÍPTB1ÉÏ
|
* @arg UART0_PS_PTA2_PTA3: UART0_RXºÍUART0_TX·Ö±ðÓ³Éäµ½PTA2ºÍPTA3ÉÏ
|
* @arg UART0_PS_PTC2_PTC3: UART0_RXºÍUART0_TX·Ö±ðÓ³Éäµ½PTC2ºÍPTC3ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_UART0(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_UART0PS_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_UART0PS_SHIFT);
|
}
|
|
/**
|
* @brief FTM0ͨµÀ0¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM0CH0_PS_PTA0: FTM0_CH0ͨµÀÓ³Éäµ½PTA0ÉÏ
|
* @arg FTM0CH0_PS_PTB2: FTM0_CH0ͨµÀÓ³Éäµ½PTB2ÉÏ
|
* @arg FTM0CH0_PS_PTE5: FTM0_CH0ͨµÀÓ³Éäµ½PTE5ÉÏ
|
* @arg FTM0CH0_PS_PTF4: FTM0_CH0ͨµÀÓ³Éäµ½PTF4ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM0CH0(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_FTM0PS0_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_FTM0PS0_SHIFT);
|
}
|
|
/**
|
* @brief FTM0ͨµÀ1¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM0CH1_PS_PTA1: FTM0_CH1ͨµÀÓ³Éäµ½PTA1ÉÏ
|
* @arg FTM0CH1_PS_PTB3: FTM0_CH1ͨµÀÓ³Éäµ½PTB3ÉÏ
|
* @arg FTM0CH1_PS_PTE6: FTM0_CH1ͨµÀÓ³Éäµ½PTE6ÉÏ
|
* @arg FTM0CH1_PS_PTF5: FTM0_CH1ͨµÀÓ³Éäµ½PTF5ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM0CH1(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_FTM0PS1_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_FTM0PS1_SHIFT);
|
}
|
|
/**
|
* @brief FTM1ͨµÀ0¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM1CH0_PS_PTC4: FTM1_CH0ͨµÀÓ³Éäµ½PTC4ÉÏ
|
* @arg FTM1CH0_PS_PTH2: FTM1_CH0ͨµÀÓ³Éäµ½PTH2ÉÏ
|
* @arg FTM1CH0_PS_PTE5: FTM1_CH0ͨµÀÓ³Éäµ½PTE5ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM1CH0(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_FTM1PS0_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_FTM1PS0_SHIFT);
|
}
|
|
/**
|
* @brief FTM1ͨµÀ1¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM1CH1_PS_PTC5: FTM1_CH1ͨµÀÓ³Éäµ½PTC5ÉÏ
|
* @arg FTM1CH1_PS_PTE7: FTM1_CH1ͨµÀÓ³Éäµ½PTE7ÉÏ
|
* @arg FTM1CH1_PS_PTE6: FTM1_CH1ͨµÀÓ³Éäµ½PTE6ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM1CH1(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_FTM1PS1_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_FTM1PS1_SHIFT);
|
}
|
|
/**
|
* @brief FTM_FLT2Òý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM_FLT2_PS_PTA7: FTM_FLT2ͨµÀÓ³Éäµ½PTA7
|
* @arg FTM_FLT2_PS_PTI1: FTM_FLT2ͨµÀÓ³Éäµ½PTI1
|
* @arg FTM_FLT2_PS_PTF7: FTM_FLT2ͨµÀÓ³Éäµ½PTF7
|
* @arg FTM_FLT2_PS_PTF6: FTM_FLT2ͨµÀÓ³Éäµ½PTF6
|
* @retval None
|
*/
|
void SIM_PINSEL_FTMFLT2(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_FTMFLT2PS_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_FTMFLT2PS_SHIFT);
|
}
|
|
/**
|
* @brief FTM_FLT1Òý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM_FLT1_PS_PTA6: FTM_FLT1ͨµÀÓ³Éäµ½PTA7
|
* @arg FTM_FLT2_PS_PTI1: FTM_FLT1ͨµÀÓ³Éäµ½PTI1
|
* @arg FTM_FLT2_PS_PTF7: FTM_FLT1ͨµÀÓ³Éäµ½PTF7
|
* @arg FTM_FLT2_PS_PTF6: FTM_FLT1ͨµÀÓ³Éäµ½PTF6
|
* @retval None
|
*/
|
void SIM_PINSEL_FTMFLT1(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_FTMFLT1PS_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_FTMFLT1PS_SHIFT);
|
}
|
|
/**
|
* @brief BUSOUTÊä³öÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg BUSOUT_PS_PTH2: BUSOUTͨµÀÓ³Éäµ½PTH2
|
* @arg BUSOUT_PS_PTH6: BUSOUTͨµÀÓ³Éäµ½PTH6
|
* @arg BUSOUT_PS_PTB5: BUSOUTͨµÀÓ³Éäµ½PTB5
|
* @retval None
|
*/
|
void SIM_PINSEL_BUSOUT(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_BUSOUTPS_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_BUSOUTPS_SHIFT);
|
}
|
|
/**
|
* @brief TCLK2Òý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg TCLK2_PS_PTE7: TCLK2Ñ¡ÔñÒý½ÅPTE7
|
* @arg TCLK2_PS_PTH7: TCLK2Ñ¡ÔñÒý½ÅPTH7
|
* @arg TCLK2_PS_PTD5: TCLK2Ñ¡ÔñÒý½ÅPTD5
|
* @retval None
|
*/
|
void SIM_PINSEL_TCLK2(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_TCLK2PS_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_TCLK2PS_SHIFT);
|
}
|
|
/**
|
* @brief TCLK1Òý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg TCLK1_PS_PTE0: TCLK1Ñ¡ÔñÒý½ÅPTE0
|
* @arg TCLK1_PS_PTH7: TCLK1Ñ¡ÔñÒý½ÅPTH7
|
* @arg TCLK1_PS_PTD5: TCLK1Ñ¡ÔñÒý½ÅPTD5
|
* @retval None
|
*/
|
void SIM_PINSEL_TCLK1(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_TCLK1PS_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_TCLK1PS_SHIFT);
|
}
|
|
/**
|
* @brief TCLK0Òý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg TCLK0_PS_PTA5: TCLK0Ñ¡ÔñÒý½ÅPTA5
|
* @arg TCLK0_PS_PTH7: TCLK0Ñ¡ÔñÒý½ÅPTH7
|
* @arg TCLK0_PS_PTD5: TCLK0Ñ¡ÔñÒý½ÅPTD5
|
* @retval None
|
*/
|
void SIM_PINSEL_TCLK0(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_TCLK0PS_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_TCLK0PS_SHIFT);
|
}
|
|
/**
|
* @brief FTM0TCLKÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM0CLK_PS_TCLK0: Ñ¡ÔñTCLK0ÓÃÓÚFTM0Ä£¿é
|
* @arg FTM0CLK_PS_TCLK1: Ñ¡ÔñTCLK1ÓÃÓÚFTM0Ä£¿é
|
* @arg FTM0CLK_PS_TCLK2: Ñ¡ÔñTCLK2ÓÃÓÚFTM0Ä£¿é
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM0TCLK(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_FTM0CLKPS_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_FTM0CLKPS_SHIFT);
|
}
|
|
/**
|
* @brief FTM1TCLKÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM1CLK_PS_TCLK0: Ñ¡ÔñTCLK0ÓÃÓÚFTM1Ä£¿é
|
* @arg FTM1CLK_PS_TCLK1: Ñ¡ÔñTCLK1ÓÃÓÚFTM1Ä£¿é
|
* @arg FTM1CLK_PS_TCLK2: Ñ¡ÔñTCLK2ÓÃÓÚFTM1Ä£¿é
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM1TCLK(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_FTM1CLKPS_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_FTM1CLKPS_SHIFT);
|
}
|
|
/**
|
* @brief FTM2TCLKÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM2CLK_PS_TCLK0: Ñ¡ÔñTCLK0ÓÃÓÚFTM2Ä£¿é
|
* @arg FTM2CLK_PS_TCLK1: Ñ¡ÔñTCLK1ÓÃÓÚFTM2Ä£¿é
|
* @arg FTM2CLK_PS_TCLK2: Ñ¡ÔñTCLK2ÓÃÓÚFTM2Ä£¿é
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM2TCLK(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_FTM2CLKPS_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_FTM2CLKPS_SHIFT);
|
}
|
|
/**
|
* @brief PWTCLKÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg PWTCLK_PS_TCLK0: Ñ¡ÔñTCLK0ÓÃÓÚPWTÄ£¿é
|
* @arg PWTCLK_PS_TCLK1: Ñ¡ÔñTCLK1ÓÃÓÚPWTÄ£¿é
|
* @arg PWTCLK_PS_TCLK2: Ñ¡ÔñTCLK2ÓÃÓÚPWTÄ£¿é
|
* @retval None
|
*/
|
void SIM_PINSEL_PWTTCLK(uint8_t PinSelect)
|
{
|
SIM->PINSEL0 &= ~SIM_PINSEL0_PWTCLKPS_MASK;
|
SIM->PINSEL0 |= ((uint32_t)PinSelect << SIM_PINSEL0_PWTCLKPS_SHIFT);
|
}
|
|
/**
|
* @brief FTM2ͨµÀ0¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM2CH0_PS_PTC0: FTM2_CH0ͨµÀÓ³Éäµ½PTC0ÉÏ
|
* @arg FTM2CH0_PS_PTH0: FTM2_CH0ͨµÀÓ³Éäµ½PTH0ÉÏ
|
* @arg FTM2CH0_PS_PTF0: FTM2_CH0ͨµÀÓ³Éäµ½PTF0ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM2CH0(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_FTM2PS0_MASK;
|
SIM->PINSEL1 |= (uint32_t)PinSelect;
|
}
|
|
/**
|
* @brief FTM2ͨµÀ1¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM2CH1_PS_PTC1: FTM2_CH1ͨµÀÓ³Éäµ½PTC1ÉÏ
|
* @arg FTM2CH1_PS_PTH1: FTM2_CH1ͨµÀÓ³Éäµ½PTH1ÉÏ
|
* @arg FTM2CH1_PS_PTF1: FTM2_CH1ͨµÀÓ³Éäµ½PTF1ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM2CH1(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_FTM2PS1_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_FTM2PS1_SHIFT);
|
}
|
|
/**
|
* @brief FTM2ͨµÀ2¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM2CH2_PS_PTC2: FTM2_CH2ͨµÀÓ³Éäµ½PTC2ÉÏ
|
* @arg FTM2CH2_PS_PTD0: FTM2_CH2ͨµÀÓ³Éäµ½PTD0ÉÏ
|
* @arg FTM2CH2_PS_PTG4: FTM2_CH2ͨµÀÓ³Éäµ½PTG4ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM2CH2(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_FTM2PS2_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_FTM2PS2_SHIFT);
|
}
|
|
/**
|
* @brief FTM2ͨµÀ3¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM2CH3_PS_PTC3: FTM2_CH3ͨµÀÓ³Éäµ½PTC3ÉÏ
|
* @arg FTM2CH3_PS_PTD1: FTM2_CH3ͨµÀÓ³Éäµ½PTD1ÉÏ
|
* @arg FTM2CH3_PS_PTG5: FTM2_CH3ͨµÀÓ³Éäµ½PTG5ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM2CH3(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_FTM2PS3_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_FTM2PS3_SHIFT);
|
}
|
|
/**
|
* @brief FTM2ͨµÀ4¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM2CH4_PS_PTB4: FTM2_CH4ͨµÀÓ³Éäµ½PTB4ÉÏ
|
* @arg FTM2CH4_PS_PTG6: FTM2_CH4ͨµÀÓ³Éäµ½PTG6ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM2CH4(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_FTM2PS4_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_FTM2PS4_SHIFT);
|
}
|
|
/**
|
* @brief FTM2ͨµÀ5¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM2CH5_PS_PTB5: FTM2_CH5ͨµÀÓ³Éäµ½PTB5ÉÏ
|
* @arg FTM2CH5_PS_PTG7: FTM2_CH5ͨµÀÓ³Éäµ½PTG7ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM2CH5(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_FTM2PS5_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_FTM2PS5_SHIFT);
|
}
|
|
/**
|
* @brief I2C1¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg I2C1_PS_PTE1_PTE0: I2C1_SCLºÍI2C1_SDA·Ö±ðÓ³Éäµ½PTE1ºÍPTE0ÉÏ
|
* @arg I2C1_PS_PTH4_PTH3: I2C1_SCLºÍI2C1_SDA·Ö±ðÓ³Éäµ½PTH4ºÍPTH3ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_I2C1(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_I2C1PS_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_I2C1PS_SHIFT);
|
}
|
|
/**
|
* @brief SPI1¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg SPI1_PS_PTD0_PTD1_PTD2_PTD3: SPI0_SCK,SPI0_MOSI,SPI0_MISOºÍSPI0_CS·Ö±ðÓ³Éäµ½PTD0,PTD1,PTD2ºÍPTD3ÉÏ
|
* @arg SPI1_PS_PTG4_PTG5_PTG6_PTG7: SPI0_SCK,SPI0_MOSI,SPI0_MISOºÍSPI0_CS·Ö±ðÓ³Éäµ½PTG4,PTG5,PTG6ºÍPTG7ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_SPI1(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_SPI1PS_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_SPI1PS_SHIFT);
|
}
|
|
/**
|
* @brief UART1¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg UART1_PS_PTC7_PTC6: UART0_RXºÍUART0_TX·Ö±ðÓ³Éäµ½PTC7ºÍPTC6ÉÏ
|
* @arg UART1_PS_PTF3_PTF2: UART0_RXºÍUART0_TX·Ö±ðÓ³Éäµ½PTF3ºÍPTF2ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_UART1(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_UART1PS_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_UART1PS_SHIFT);
|
}
|
|
/**
|
* @brief UART2¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg UART2_PS_PTD7_PTD6: UART0_RXºÍUART0_TX·Ö±ðÓ³Éäµ½PTD7ºÍPTD6ÉÏ
|
* @arg UART2_PS_PTI1_PTI0: UART0_RXºÍUART0_TX·Ö±ðÓ³Éäµ½PTI1ºÍPTI0ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_UART2(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_UART2PS_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_UART2PS_SHIFT);
|
}
|
|
/**
|
* @brief PWTIN0¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg PWTIN0_PS_PTD5: PWTIN0Òý½ÅÓ³Éäµ½PTD5ÉÏ
|
* @arg PWTIN0_PS_PTE2: PWTIN0Òý½ÅÓ³Éäµ½PTE2ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_PWTIN0(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_PWTIN0PS_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_PWTIN0PS_SHIFT);
|
}
|
|
/**
|
* @brief PWTIN1¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg PWTIN1_PS_PTB0: PWTIN0Òý½ÅÓ³Éäµ½PTB0ÉÏ
|
* @arg PWTIN1_PS_PTH7: PWTIN0Òý½ÅÓ³Éäµ½PTH7ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_PWTIN1(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_PWTIN1PS_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_PWTIN1PS_SHIFT);
|
}
|
|
/**
|
* @brief SPI0¶Ë¿ÚÒý½ÅÑ¡Ôñ 20190729XU
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg SPI0_PS_PTB2_PTB3_PTB4_PTB5: SPI0_SCK,SPI0_MOSI,SPI0_MISOºÍSPI0_CS·Ö±ðÓ³Éäµ½PTB2,PTB3,PTB4ºÍPTB5ÉÏ
|
* @arg SPI0_PS_PTE0_PTE1_PTE2_PTE3: SPI0_SCK,SPI0_MOSI,SPI0_MISOºÍSPI0_CS·Ö±ðÓ³Éäµ½PTE0,PTE1,PTE2ºÍPTE3ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_SPI0(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_SPI0PS_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_SPI0PS_SHIFT);
|
}
|
|
/**
|
* @brief EWM¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg EWM_PS_PTA3_PTA2: EWM_INºÍEWM_RESET·Ö±ðÓ³Éäµ½PTA3ºÍPTA2ÉÏ
|
* @arg EWM_PS_PTC4_PTA4: EWM_INºÍEWM_RESET·Ö±ðÓ³Éäµ½PTC4ºÍPTA4ÉÏ
|
* @arg EWM_PS_PTE7_PTH2: EWM_INºÍEWM_RESET·Ö±ðÓ³Éäµ½PTE7ºÍPTH2ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_EWM(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_EWMPS_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_EWMPS_SHIFT);
|
}
|
|
/**
|
* @brief IRQ¶Ë¿ÚÒý½ÅÑ¡Ôñ 20190729XU
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg IRQ_PS_GROUP1: IRQÓ³Éäµ½µÚÒ»×éPIN½ÅÉÏ
|
* @arg IRQ_PS_GROUP2: IRQÓ³Éäµ½µÚ¶þ×éPIN½ÅÉÏ
|
* @arg IRQ_PS_GROUP3: IRQÓ³Éäµ½µÚÈý×éPIN½ÅÉÏ
|
* @arg IRQ_PS_GROUP4: IRQÓ³Éäµ½µÚËÄ×éPIN½ÅÉÏ
|
* @arg IRQ_PS_GROUP5: IRQÓ³Éäµ½µÚÎå×éPIN½ÅÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_IRQ(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_IRQPS_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_IRQPS_SHIFT);
|
}
|
|
/**
|
* @brief ACMP1Êä³öPS¶Ë¿ÚÒý½ÅÑ¡Ôñ 20190729XU
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg ACMP1_PS_PTB5: ACMP1Êä³öÓ³Éäµ½PTB5ÉÏ
|
* @arg ACMP1_PS_PTI1: ACMP1Êä³öÓ³Éäµ½PTI1ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_ACMP(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_ACMP1PS_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_ACMP1PS_SHIFT);
|
}
|
|
/**
|
* @brief RTCÊä³öPS¶Ë¿ÚÒý½ÅÑ¡Ôñ 20190729XU
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg RTCO_PS_PTC4: RTCÊä³öÓ³Éäµ½PTC4ÉÏ
|
* @arg RTCO_PS_PTC5: RTCÊä³öÓ³Éäµ½PTC5ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_RTC(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_RTCPS_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_RTCPS_SHIFT);
|
}
|
|
/**
|
* @brief I2C0¶Ë¿ÚÒý½ÅÑ¡Ôñ 20190729XU
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg I2C0_PS_PTA3_PTA2: I2C0_SCLºÍI2C0_SDA·Ö±ðÓ³Éäµ½PTA3ºÍPTA2ÉÏ
|
* @arg I2C0_PS_PTB7_PTB6: I2C0_SCLºÍI2C0_SDA·Ö±ðÓ³Éäµ½PTB7ºÍPTB6ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_I2C0(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_I2C0PS_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_I2C0PS_SHIFT);
|
}
|
|
/**
|
* @brief FTM0ͨµÀ2¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM0CH2_PS_PTH7: FTM0_CH2ͨµÀÓ³Éäµ½PTH7ÉÏ
|
* @arg FTM0CH2_PS_PTD5: FTM0_CH2ͨµÀÓ³Éäµ½PTD5ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM0CH2(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_FTM0PS2_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_FTM0PS2_SHIFT);
|
}
|
|
/**
|
* @brief FTM0ͨµÀ3¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM0CH3_PS_PTE4: FTM0_CH3ͨµÀÓ³Éäµ½PTE4ÉÏ
|
* @arg FTM0CH3_PS_PTD4: FTM0_CH3ͨµÀÓ³Éäµ½PTD4ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM0CH3(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_FTM0PS3_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_FTM0PS3_SHIFT);
|
}
|
|
/**
|
* @brief FTM1ͨµÀ2¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM1CH2_PS_PTH1: FTM1_CH2ͨµÀÓ³Éäµ½PTH1ÉÏ
|
* @arg FTM1CH2_PS_PTB4: FTM1_CH2ͨµÀÓ³Éäµ½PTB4ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM1CH2(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_FTM1PS2_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_FTM1PS2_SHIFT);
|
}
|
|
/**
|
* @brief FTM1ͨµÀ3¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM1CH3_PS_PTH0: FTM1_CH3ͨµÀÓ³Éäµ½PTE4ÉÏ
|
* @arg FTM1CH3_PS_PTE3: FTM1_CH3ͨµÀÓ³Éäµ½PTD4ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM1CH3(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_FTM1PS3_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_FTM1PS3_SHIFT);
|
}
|
|
/**
|
* @brief FTM2ͨµÀ6¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM2CH6_PS_PTF3: FTM2_CH6ͨµÀÓ³Éäµ½PTF3ÉÏ
|
* @arg FTM2CH6_PS_PTD3: FTM2_CH6ͨµÀÓ³Éäµ½PTD3ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM2CH6(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_FTM2PS6_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_FTM2PS6_SHIFT);
|
}
|
|
/**
|
* @brief FTM2ͨµÀ7¶Ë¿ÚÒý½ÅÑ¡Ôñ
|
* @param PinSelect: Òý½ÅÑ¡Ôñ
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg FTM2CH7_PS_PTF2: FTM2_CH7ͨµÀÓ³Éäµ½PTF2ÉÏ
|
* @arg FTM2CH7_PS_PTD2: FTM2_CH7ͨµÀÓ³Éäµ½PTD2ÉÏ
|
* @retval None
|
*/
|
void SIM_PINSEL_FTM2CH7(uint8_t PinSelect)
|
{
|
SIM->PINSEL1 &= ~SIM_PINSEL1_FTM2PS7_MASK;
|
SIM->PINSEL1 |= ((uint32_t)PinSelect << SIM_PINSEL1_FTM2PS7_SHIFT);
|
}
|
|
/**
|
* @brief ϵͳʱÖÓѡͨ
|
* @param SCGC_Type: Ö¸¶¨ÍâÉèʱÖÓʹÄÜ״̬
|
* Õâ¸ö²ÎÊý¿ÉÒÔΪÒÔÏÂÖµ:
|
* @arg SIM_SCGC_RTC: RTCʱÖÓѡͨ
|
* @arg SIM_SCGC_PIT: PITʱÖÓѡͨ
|
* @arg SIM_SCGC_EWM: EWMʱÖÓѡͨ
|
* @arg SIM_SCGC_PWT: PWTʱÖÓѡͨ
|
* @arg SIM_SCGC_FTM0: FTM0ʱÖÓѡͨ
|
* @arg SIM_SCGC_FTM1: FTM1ʱÖÓѡͨ
|
* @arg SIM_SCGC_FTM2: FTM2ʱÖÓѡͨ
|
* @arg SIM_SCGC_CLMA: FTM2ʱÖÓѡͨ
|
* @arg SIM_SCGC_CLMB: FTM2ʱÖÓѡͨ
|
* @arg SIM_SCGC_CRC: CRCʱÖÓѡͨ
|
* @arg SIM_SCGC_WDG: WDGʱÖÓѡͨ
|
* @arg SIM_SCGC_MCAN: MCANʱÖÓѡͨ
|
* @arg SIM_SCGC_I2C0: I2C0ʱÖÓѡͨ
|
* @arg SIM_SCGC_I2C1: I2C1ʱÖÓѡͨ
|
* @arg SIM_SCGC_SPI0: SPI0ʱÖÓѡͨ
|
* @arg SIM_SCGC_SPI1: SPI1ʱÖÓѡͨ
|
* @arg SIM_SCGC_UART0: UART0ʱÖÓѡͨ
|
* @arg SIM_SCGC_UART1: UART1ʱÖÓѡͨ
|
* @arg SIM_SCGC_UART2: UART2ʱÖÓѡͨ
|
* @arg SIM_SCGC_KBI0: KBI0ʱÖÓѡͨ
|
* @arg SIM_SCGC_KBI1: KBI1ʱÖÓѡͨ
|
* @arg SIM_SCGC_IRQ: IRQʱÖÓѡͨ
|
* @arg SIM_SCGC_DMA: DMAʱÖÓѡͨ
|
* @arg SIM_SCGC_ADC: ADCʱÖÓѡͨ
|
* @arg SIM_SCGC_ACMP0: ACMP0ʱÖÓѡͨ
|
* @arg SIM_SCGC_ACMP1: ACMP1ʱÖÓѡͨ
|
* @param State: Ñ¡¶¨Ö¸¶¨µÄÍâÉè
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg ENABLE: ʹÄÜÏàӦģ¿é
|
* @arg DISABLE: ¹Ø±ÕÏàӦģ¿é
|
* @retval None
|
*/
|
void SIM_SCGC_Cmd(uint32_t SCGC_Type, FunctionalState State)
|
{
|
if(State == ENABLE)
|
{
|
SIM->SCGC |= SCGC_Type;
|
}
|
else
|
{
|
SIM->SCGC &= ~SCGC_Type;
|
}
|
}
|
|
/**
|
* @brief ϵͳʱÖÓѡͨ1
|
* @param SCGC_Type: Ö¸¶¨ÍâÉèʱÖÓʹÄÜ״̬
|
* Õâ¸ö²ÎÊý¿ÉÒÔΪÒÔÏÂÖµ:
|
* @arg SIM_SCGC1_FTM0F: FTM0Ñ¡ÓÃICSFFCLKʱÖÓʹÄÜ
|
* @arg SIM_SCGC1_FTM1F: FTM1Ñ¡ÓÃICSFFCLKʱÖÓʹÄÜ
|
* @arg SIM_SCGC1_FTM2F: FTM2Ñ¡ÓÃICSFFCLKʱÖÓʹÄÜ
|
* @arg SIM_SCGC1_RTCEC: RTCÑ¡ÓÃOSCERCLKʱÖÓʹÄÜ
|
* @arg SIM_SCGC1_ADCALTC: ADCÑ¡ÓÃALTCLKʱÖÓʹÄÜ
|
* @arg SIM_SCGC1_FTM0T: FTM0Ñ¡ÓÃTIMERCLKʱÖÓʹÄÜ
|
* @arg SIM_SCGC1_FTM1T: FTM1Ñ¡ÓÃTIMERCLKʱÖÓʹÄÜ
|
* @arg SIM_SCGC1_FTM2T: FTM2Ñ¡ÓÃTIMERCLKʱÖÓʹÄÜ
|
* @arg SIM_SCGC1_RTCLPOC: RTCÑ¡ÓÃLPOCLKʱÖÓʹÄÜ
|
* @param State: Ñ¡¶¨Ö¸¶¨µÄÍâÉè
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg ENABLE: ʹÄÜÏàӦģ¿é
|
* @arg DISABLE: ¹Ø±ÕÏàӦģ¿é
|
* @retval None
|
*/
|
void SIM_SCGC1_Cmd(uint32_t SCGC1_Type, FunctionalState State)
|
{
|
if(State == ENABLE)
|
{
|
SIM->SCGC1 |= SCGC1_Type;
|
}
|
else
|
{
|
SIM->SCGC1 &= ~SCGC1_Type;
|
}
|
}
|
|
/**
|
* @brief »ñȡͨÓÃΨһ±êʶ·ûµÍλ
|
* @param None
|
* @retval ͨÓÃΨһ±êʶ·ûµÍλ
|
*/
|
uint32_t SIM_GetUUIDL(void)
|
{
|
return SIM->UUIDL;
|
}
|
|
/**
|
* @brief »ñȡͨÓÃΨһ±êʶ·ûÖеÍλ
|
* @param None
|
* @retval ͨÓÃΨһ±êʶ·ûµÍλ
|
*/
|
uint32_t SIM_GetUUIDML(void)
|
{
|
return SIM->UUIDML;
|
}
|
|
/**
|
* @brief »ñȡͨÓÃΨһ±êʶ·ûÖиßλ
|
* @param None
|
* @retval ͨÓÃΨһ±êʶ·ûµÍλ
|
*/
|
uint32_t SIM_GetUUIDMH(void)
|
{
|
return SIM->UUIDMH;
|
}
|
|
/**
|
* @brief »ñȡоƬSRAMÈÝÁ¿´óС
|
* @param None
|
* @retval SRAMÈÝÁ¿´óС(SRAM_SIZE_16KB or SRAM_SIZE_24KB)
|
*/
|
uint8_t SIM_GetSRAMSize(void)
|
{
|
return (uint8_t)(SIM->UUIDMH & SIM_UUIDMH_SS_MASK);
|
}
|
|
/**
|
* @brief »ñȡоƬFLASHÈÝÁ¿´óС
|
* @param None
|
* @retval FLASHÈÝÁ¿´óС(FLASH_SIZE_256KB or FLASH_SIZE_128KB)
|
*/
|
uint8_t SIM_GetFLASHSize(void)
|
{
|
return (uint8_t)((SIM->UUIDMH & SIM_UUIDMH_FS_MASK) >> SIM_UUIDMH_FS_SHIFT);
|
}
|
|
/**
|
* @brief »ñȡоƬ°æ±¾
|
* @param None
|
* @retval оƬ°æ±¾
|
*/
|
uint8_t SIM_GetVer(void)
|
{
|
return (uint8_t)((SIM->UUIDMH & SIM_UUIDMH_VER_MASK) >> SIM_UUIDMH_VER_SHIFT);
|
}
|
|
/**
|
* @brief »ñȡоƬÐͺÅ
|
* @param None
|
* @retval оƬÐͺÅ
|
*/
|
uint8_t SIM_GetDevID(void)
|
{
|
return (uint8_t)((SIM->UUIDMH & SIM_UUIDMH_DEVID_MASK) >> SIM_UUIDMH_DEVID_SHIFT);
|
}
|
|
/**
|
* @brief ÉèÖÃÄÚºËʱÖӵķ֯µÖµ
|
* @param divide: ÄÚºËʱÖÓ·ÖÆµÖµ(1-256)(ICSOUTCLK³ýÒÔdivide)
|
* @retval None
|
*/
|
void SIM_CLKDIV_OUTDIV1(uint32_t divide)
|
{
|
SIM->CLKDIV &= ~SIM_CLKDIV_OUTDIV1_MASK;
|
SIM->CLKDIV |= divide - (uint32_t)1;
|
}
|
|
/**
|
* @brief ÉèÖÃAHB×ÜÏߺÍFLASHʱÖӵķ֯µÖµ
|
* @param divide: AHB×ÜÏߺÍFLASHʱÖӵķ֯µÖµ(OUTDIV1³ýÒÔdivide) (1-256)
|
* @retval None
|
*/
|
void SIM_CLKDIV_OUTDIV2(uint32_t divide)
|
{
|
SIM->CLKDIV &= ~SIM_CLKDIV_OUTDIV2_MASK;
|
SIM->CLKDIV |= (divide - (uint32_t)1) << SIM_CLKDIV_OUTDIV2_SHIFT;
|
}
|
|
/**
|
* @brief ÉèÖÃAPB×ÜÏßʱÖӵķ֯µÖµ
|
* @param divide: APB×ÜÏßʱÖӵķ֯µÖµ(OUTDIV2³ýÒÔdivide)
|
* @retval None
|
*/
|
void SIM_CLKDIV_OUTDIV3(uint32_t divide)
|
{
|
SIM->CLKDIV &= ~SIM_CLKDIV_OUTDIV3_MASK;
|
SIM->CLKDIV |= (divide - (uint32_t)1) << SIM_CLKDIV_OUTDIV3_SHIFT;
|
}
|
|
/**
|
* @brief ÉèÖö¨Ê±Æ÷(FTM0,FTM1,FTM2,PWT)µÄ·ÖƵֵ
|
* @param divide: APB×ÜÏßʱÖӵķ֯µÖµ(ICSOUTCLK³ýÒÔdivide)
|
* @retval None
|
*/
|
void SIM_CLKDIV_OUTDIV4(uint32_t divide)
|
{
|
SIM->CLKDIV &= ~SIM_CLKDIV_OUTDIV4_MASK;
|
SIM->CLKDIV |= (divide - (uint32_t)1) << SIM_CLKDIV_OUTDIV4_SHIFT;
|
}
|
|
/**
|
* @brief µÃµ½OUTDIV1µÄ·ÖƵֵ
|
* @param None
|
* @retval ·ÖƵֵ
|
*/
|
uint8_t SIM_GetOUTDIV1(void)
|
{
|
return (uint8_t)(SIM->CLKDIV);
|
}
|
|
/**
|
* @brief µÃµ½OUTDIV2µÄ·ÖƵֵ
|
* @param None
|
* @retval ·ÖƵֵ
|
*/
|
uint8_t SIM_GetOUTDIV2(void)
|
{
|
return (uint8_t)(SIM->CLKDIV >> 8);
|
}
|
|
/**
|
* @brief µÃµ½OUTDIV3µÄ·ÖƵֵ
|
* @param None
|
* @retval ·ÖƵֵ
|
*/
|
uint8_t SIM_GetOUTDIV3(void)
|
{
|
return (uint8_t)(SIM->CLKDIV >> 16);
|
}
|
|
/**
|
* @brief µÃµ½OUTDIV4µÄ·ÖƵֵ
|
* @param None
|
* @retval ·ÖƵֵ
|
*/
|
uint8_t SIM_GetOUTDIV4(void)
|
{
|
return (uint8_t)(SIM->CLKDIV >> 24);
|
}
|
|
/**
|
* @brief ϵͳ¹¦ºÄ¿ØÖÆ
|
* @param LP_Type: Ñ¡Ôñ¹Ø¶ÏµçÔ´µÄÄ£¿é
|
* Õâ¸ö²ÎÊý¿ÉÒÔÈ¡ÏÂÃæµÄÖµ:
|
* @arg SIM_LP_USER_FLASH: Óû§Ä£Ê½ÊǹضÏFLASHµçÔ´
|
* @arg SIM_LP_USER_FLASH: STOPģʽÊǹضÏFLASHµçÔ´
|
* @arg SIM_LP_USER_RAM1: Óû§Ä£Ê½ÊǹضÏRAM1µçÔ´
|
* @arg SIM_LP_USER_RAM2: Óû§Ä£Ê½ÊǹضÏRAM2µçÔ´
|
* @arg SIM_LP_USER_RAM3: Óû§Ä£Ê½ÊǹضÏRAM3µçÔ´
|
* @arg SIM_LP_STOP_RAM1: STOPģʽÊǹضÏRAM1µçÔ´
|
* @arg SIM_LP_STOP_RAM2: STOPģʽÊǹضÏRAM2µçÔ´
|
* @arg SIM_LP_STOP_RAM3: STOPģʽÊǹضÏRAM3µçÔ´
|
* @retval None
|
*/
|
void SIM_LP_SetLowpowerCmd(uint32_t LP_Type)
|
{
|
SIM->LP = (0x55AA0000u | LP_Type);
|
}
|
|
/**
|
* @brief »ñÈ¡FLASHÉϵç±êÖ¾
|
* @param None
|
* @retval FLASHÉϵç±êÖ¾
|
*/
|
FlagStatus SIM_LP_FLASHPowerONStatus(void)
|
{
|
FlagStatus ret;
|
|
if( ((SIM->LP & SIM_LP_FLASHPON_MASK)>>SIM_LP_FLASHPON_SHIFT) != 0u)
|
{
|
ret= SET;
|
}
|
else
|
{
|
ret = RESET;
|
}
|
|
return ret;
|
}
|
|
/**
|
* @brief »ñÈ¡SRAMÉϵç±êÖ¾
|
* @param None
|
* @retval SRAMÉϵç±êÖ¾
|
*/
|
FlagStatus SIM_LP_SRAMPowerONStatus(void)
|
{
|
FlagStatus ret;
|
|
if( ((SIM->LP >> SIM_LP_SRAMPON_SHIFT)&(uint32_t)0x01) != 0u)
|
{
|
ret= SET;
|
}
|
else
|
{
|
ret = RESET;
|
}
|
|
return ret;
|
}
|
|
/**
|
* @brief ÉèÖÃϵͳÎȶ¨µÈ´ýʱ¼ä
|
* @param Clkwait: ICSOUTCLKµÄÎȶ¨¼ÆÊýÖÜÆÚ
|
* @retval None
|
*/
|
void SIM_WAIT_CLKWAITConfig(uint16_t Clkwait)
|
{
|
SIM->WAIT &= ~SIM_WAIT_CLKWAIT_MASK;
|
SIM->WAIT |= (uint32_t)Clkwait;
|
}
|
|
/**
|
* @brief ϵͳʱÖÓµÄ1us·ÖƵϵÊý
|
* @param Div1us: ϵͳʱÖÓµÄ1us·ÖƵϵÊý
|
* @retval None
|
*/
|
void SIM_WAIT_DIV1USConfig(uint16_t Div1us)
|
{
|
SIM->WAIT &= ~SIM_WAIT_DIV1US_MASK;
|
SIM->WAIT |= ((uint32_t)Div1us << SIM_WAIT_DIV1US_SHIFT);
|
}
|
|
/**
|
* @}
|
*/
|
|
/**
|
* @}
|
*/
|
|
/**
|
* @}
|
*/
|
|
|
#ifdef __cplusplus
|
}
|
#endif
|