4
0
mirror of https://github.com/RT-Thread/rt-thread.git synced 2025-02-07 19:34:34 +08:00

formatting

This commit is contained in:
yanmowudi 2021-09-13 21:04:42 +08:00
parent 208eb0a385
commit bdc34dac30
31 changed files with 1486 additions and 5379 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,40 +0,0 @@
[BREAKPOINTS]
ForceImpTypeAny = 0
ShowInfoWin = 1
EnableFlashBP = 2
BPDuringExecution = 0
[CFI]
CFISize = 0x00
CFIAddr = 0x00
[CPU]
MonModeVTableAddr = 0xFFFFFFFF
MonModeDebug = 0
MaxNumAPs = 0
LowPowerHandlingMode = 0
OverrideMemMap = 0
AllowSimulation = 1
ScriptFile=""
[FLASH]
EraseType = 0x00
CacheExcludeSize = 0x00
CacheExcludeAddr = 0x00
MinNumBytesFlashDL = 0
SkipProgOnCRCMatch = 1
VerifyDownload = 1
AllowCaching = 1
EnableFlashDL = 2
Override = 1
Device="Cortex-M4"
[GENERAL]
WorkRAMSize = 0x00
WorkRAMAddr = 0x00
RAMUsageLimit = 0x00
[SWO]
SWOLogFile=""
[MEM]
RdOverrideOrMask = 0x00
RdOverrideAndMask = 0xFFFFFFFF
RdOverrideAddr = 0xFFFFFFFF
WrOverrideOrMask = 0x00
WrOverrideAndMask = 0xFFFFFFFF
WrOverrideAddr = 0xFFFFFFFF

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2006-2018, RT-Thread Development Team * Copyright (c) 2006-2021, RT-Thread Development Team
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
* *
@ -65,13 +65,13 @@ static int adc_vol_sample(int argc, char *argv[])
} }
ret = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL); ret = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL);
value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL); value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL);
rt_kprintf("the value is :%d,", value); rt_kprintf("the value is :%d,", value);
vol = value * REFER_VOLTAGE / CONVERT_BITS; vol = value * REFER_VOLTAGE / CONVERT_BITS;
rt_kprintf("the voltage is :%d.%02d \n", vol / 100, vol % 100); rt_kprintf("the voltage is :%d.%02d \n", vol / 100, vol % 100);
ret = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL); ret = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL);
return ret; return ret;

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2006-2018, RT-Thread Development Team * Copyright (c) 2006-2021, RT-Thread Development Team
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
* *

View File

@ -107,7 +107,7 @@ static rt_err_t swm_rtc_init(void)
rtc_initstruct.MinuteIEn = 0; rtc_initstruct.MinuteIEn = 0;
RTC_Init(RTC, &rtc_initstruct); RTC_Init(RTC, &rtc_initstruct);
RTC_Start(RTC); RTC_Start(RTC);
return RT_EOK; return RT_EOK;
} }
@ -148,7 +148,7 @@ static rt_rtc_dev_t swm_rtc_device;
int rt_hw_rtc_init(void) int rt_hw_rtc_init(void)
{ {
rt_err_t result; rt_err_t result;
swm_rtc_device.ops = &swm_rtc_ops; swm_rtc_device.ops = &swm_rtc_ops;
result = rt_hw_rtc_register(&swm_rtc_device, "rtc", RT_DEVICE_FLAG_RDWR,RT_NULL); result = rt_hw_rtc_register(&swm_rtc_device, "rtc", RT_DEVICE_FLAG_RDWR,RT_NULL);
if (result != RT_EOK) if (result != RT_EOK)

View File

@ -2,12 +2,12 @@
* Copyright (C) 2010-2014 ARM Limited. All rights reserved. * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
* *
* $Date: 31. July 2014 * $Date: 31. July 2014
* $Revision: V1.4.4 * $Revision: V1.4.4
* *
* Project: CMSIS DSP Library * Project: CMSIS DSP Library
* Title: arm_common_tables.h * Title: arm_common_tables.h
* *
* Description: This file has extern declaration for common tables like Bitreverse, reciprocal etc which are used across different functions * Description: This file has extern declaration for common tables like Bitreverse, reciprocal etc which are used across different functions
* *
* Target Processor: Cortex-M4/Cortex-M3 * Target Processor: Cortex-M4/Cortex-M3
* *

View File

@ -2,12 +2,12 @@
* Copyright (C) 2010-2014 ARM Limited. All rights reserved. * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
* *
* $Date: 31. July 2014 * $Date: 31. July 2014
* $Revision: V1.4.4 * $Revision: V1.4.4
* *
* Project: CMSIS DSP Library * Project: CMSIS DSP Library
* Title: arm_const_structs.h * Title: arm_const_structs.h
* *
* Description: This file has constant structs that are initialized for * Description: This file has constant structs that are initialized for
* user convenience. For example, some can be given as * user convenience. For example, some can be given as
* arguments to the arm_cfft_f32() function. * arguments to the arm_cfft_f32() function.
* *

View File

@ -2,12 +2,12 @@
* Copyright (C) 2010-2014 ARM Limited. All rights reserved. * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
* *
* $Date: 12. March 2014 * $Date: 12. March 2014
* $Revision: V1.4.4 * $Revision: V1.4.4
* *
* Project: CMSIS DSP Library * Project: CMSIS DSP Library
* Title: arm_math.h * Title: arm_math.h
* *
* Description: Public header file for CMSIS DSP Library * Description: Public header file for CMSIS DSP Library
* *
* Target Processor: Cortex-M7/Cortex-M4/Cortex-M3/Cortex-M0 * Target Processor: Cortex-M7/Cortex-M4/Cortex-M3/Cortex-M0
* *
@ -134,7 +134,7 @@
* <hr> * <hr>
* CMSIS-DSP in ARM::CMSIS Pack * CMSIS-DSP in ARM::CMSIS Pack
* ----------------------------- * -----------------------------
* *
* The following files relevant to CMSIS-DSP are present in the <b>ARM::CMSIS</b> Pack directories: * The following files relevant to CMSIS-DSP are present in the <b>ARM::CMSIS</b> Pack directories:
* |File/Folder |Content | * |File/Folder |Content |
* |------------------------------|------------------------------------------------------------------------| * |------------------------------|------------------------------------------------------------------------|
@ -142,7 +142,7 @@
* |\b CMSIS\\DSP_Lib | Software license agreement (license.txt) | * |\b CMSIS\\DSP_Lib | Software license agreement (license.txt) |
* |\b CMSIS\\DSP_Lib\\Examples | Example projects demonstrating the usage of the library functions | * |\b CMSIS\\DSP_Lib\\Examples | Example projects demonstrating the usage of the library functions |
* |\b CMSIS\\DSP_Lib\\Source | Source files for rebuilding the library | * |\b CMSIS\\DSP_Lib\\Source | Source files for rebuilding the library |
* *
* <hr> * <hr>
* Revision History of CMSIS-DSP * Revision History of CMSIS-DSP
* ------------ * ------------
@ -347,7 +347,7 @@ extern "C"
#else #else
#define ALIGN4 __align(4) #define ALIGN4 __align(4)
#endif #endif
#endif /* #ifndef UNALIGNED_SUPPORT_DISABLE */ #endif /* #ifndef UNALIGNED_SUPPORT_DISABLE */
/** /**
* @brief Error status returned by some functions in the library. * @brief Error status returned by some functions in the library.
@ -1187,11 +1187,11 @@ extern "C"
/** /**
* @brief Initialization function for the Q31 FIR filter. * @brief Initialization function for the Q31 FIR filter.
* @param[in,out] *S points to an instance of the Q31 FIR structure. * @param[in,out] *S points to an instance of the Q31 FIR structure.
* @param[in] numTaps Number of filter coefficients in the filter. * @param[in] numTaps Number of filter coefficients in the filter.
* @param[in] *pCoeffs points to the filter coefficients. * @param[in] *pCoeffs points to the filter coefficients.
* @param[in] *pState points to the state buffer. * @param[in] *pState points to the state buffer.
* @param[in] blockSize number of samples that are processed at a time. * @param[in] blockSize number of samples that are processed at a time.
* @return none. * @return none.
*/ */
void arm_fir_init_q31( void arm_fir_init_q31(
arm_fir_instance_q31 *S, arm_fir_instance_q31 *S,
@ -1217,11 +1217,11 @@ extern "C"
/** /**
* @brief Initialization function for the floating-point FIR filter. * @brief Initialization function for the floating-point FIR filter.
* @param[in,out] *S points to an instance of the floating-point FIR filter structure. * @param[in,out] *S points to an instance of the floating-point FIR filter structure.
* @param[in] numTaps Number of filter coefficients in the filter. * @param[in] numTaps Number of filter coefficients in the filter.
* @param[in] *pCoeffs points to the filter coefficients. * @param[in] *pCoeffs points to the filter coefficients.
* @param[in] *pState points to the state buffer. * @param[in] *pState points to the state buffer.
* @param[in] blockSize number of samples that are processed at a time. * @param[in] blockSize number of samples that are processed at a time.
* @return none. * @return none.
*/ */
void arm_fir_init_f32( void arm_fir_init_f32(
arm_fir_instance_f32 *S, arm_fir_instance_f32 *S,
@ -1524,7 +1524,7 @@ extern "C"
* @brief Floating-point matrix transpose. * @brief Floating-point matrix transpose.
* @param[in] *pSrc points to the input matrix * @param[in] *pSrc points to the input matrix
* @param[out] *pDst points to the output matrix * @param[out] *pDst points to the output matrix
* @return The function returns either <code>ARM_MATH_SIZE_MISMATCH</code> * @return The function returns either <code>ARM_MATH_SIZE_MISMATCH</code>
* or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. * or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking.
*/ */
@ -1536,7 +1536,7 @@ extern "C"
* @brief Q15 matrix transpose. * @brief Q15 matrix transpose.
* @param[in] *pSrc points to the input matrix * @param[in] *pSrc points to the input matrix
* @param[out] *pDst points to the output matrix * @param[out] *pDst points to the output matrix
* @return The function returns either <code>ARM_MATH_SIZE_MISMATCH</code> * @return The function returns either <code>ARM_MATH_SIZE_MISMATCH</code>
* or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. * or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking.
*/ */
@ -1548,7 +1548,7 @@ extern "C"
* @brief Q31 matrix transpose. * @brief Q31 matrix transpose.
* @param[in] *pSrc points to the input matrix * @param[in] *pSrc points to the input matrix
* @param[out] *pDst points to the output matrix * @param[out] *pDst points to the output matrix
* @return The function returns either <code>ARM_MATH_SIZE_MISMATCH</code> * @return The function returns either <code>ARM_MATH_SIZE_MISMATCH</code>
* or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. * or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking.
*/ */
@ -1575,7 +1575,7 @@ extern "C"
* @param[in] *pSrcA points to the first input matrix structure * @param[in] *pSrcA points to the first input matrix structure
* @param[in] *pSrcB points to the second input matrix structure * @param[in] *pSrcB points to the second input matrix structure
* @param[out] *pDst points to output matrix structure * @param[out] *pDst points to output matrix structure
* @param[in] *pState points to the array for storing intermediate results * @param[in] *pState points to the array for storing intermediate results
* @return The function returns either * @return The function returns either
* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking.
*/ */
@ -1591,7 +1591,7 @@ extern "C"
* @param[in] *pSrcA points to the first input matrix structure * @param[in] *pSrcA points to the first input matrix structure
* @param[in] *pSrcB points to the second input matrix structure * @param[in] *pSrcB points to the second input matrix structure
* @param[out] *pDst points to output matrix structure * @param[out] *pDst points to output matrix structure
* @param[in] *pState points to the array for storing intermediate results * @param[in] *pState points to the array for storing intermediate results
* @return The function returns either * @return The function returns either
* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking.
*/ */
@ -1723,7 +1723,7 @@ extern "C"
* @param[in,out] *S points to an instance of the floating-point matrix structure. * @param[in,out] *S points to an instance of the floating-point matrix structure.
* @param[in] nRows number of rows in the matrix. * @param[in] nRows number of rows in the matrix.
* @param[in] nColumns number of columns in the matrix. * @param[in] nColumns number of columns in the matrix.
* @param[in] *pData points to the matrix data array. * @param[in] *pData points to the matrix data array.
* @return none * @return none
*/ */
@ -1738,7 +1738,7 @@ extern "C"
* @param[in,out] *S points to an instance of the floating-point matrix structure. * @param[in,out] *S points to an instance of the floating-point matrix structure.
* @param[in] nRows number of rows in the matrix. * @param[in] nRows number of rows in the matrix.
* @param[in] nColumns number of columns in the matrix. * @param[in] nColumns number of columns in the matrix.
* @param[in] *pData points to the matrix data array. * @param[in] *pData points to the matrix data array.
* @return none * @return none
*/ */
@ -1753,7 +1753,7 @@ extern "C"
* @param[in,out] *S points to an instance of the floating-point matrix structure. * @param[in,out] *S points to an instance of the floating-point matrix structure.
* @param[in] nRows number of rows in the matrix. * @param[in] nRows number of rows in the matrix.
* @param[in] nColumns number of columns in the matrix. * @param[in] nColumns number of columns in the matrix.
* @param[in] *pData points to the matrix data array. * @param[in] *pData points to the matrix data array.
* @return none * @return none
*/ */
@ -2321,7 +2321,7 @@ extern "C"
* @param[in] N length of the DCT4. * @param[in] N length of the DCT4.
* @param[in] Nby2 half of the length of the DCT4. * @param[in] Nby2 half of the length of the DCT4.
* @param[in] normalize normalizing factor. * @param[in] normalize normalizing factor.
* @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if <code>fftLenReal</code> is not a supported transform length. * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if <code>fftLenReal</code> is not a supported transform length.
*/ */
arm_status arm_dct4_init_f32( arm_status arm_dct4_init_f32(
@ -2368,7 +2368,7 @@ extern "C"
* @param[in] N length of the DCT4. * @param[in] N length of the DCT4.
* @param[in] Nby2 half of the length of the DCT4. * @param[in] Nby2 half of the length of the DCT4.
* @param[in] normalize normalizing factor. * @param[in] normalize normalizing factor.
* @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if <code>N</code> is not a supported transform length. * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if <code>N</code> is not a supported transform length.
*/ */
arm_status arm_dct4_init_q31( arm_status arm_dct4_init_q31(
@ -2415,7 +2415,7 @@ extern "C"
* @param[in] N length of the DCT4. * @param[in] N length of the DCT4.
* @param[in] Nby2 half of the length of the DCT4. * @param[in] Nby2 half of the length of the DCT4.
* @param[in] normalize normalizing factor. * @param[in] normalize normalizing factor.
* @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if <code>N</code> is not a supported transform length. * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if <code>N</code> is not a supported transform length.
*/ */
arm_status arm_dct4_init_q15( arm_status arm_dct4_init_q15(
@ -5355,8 +5355,8 @@ extern "C"
* @brief Floating-point Park transform * @brief Floating-point Park transform
* @param[in] Ialpha input two-phase vector coordinate alpha * @param[in] Ialpha input two-phase vector coordinate alpha
* @param[in] Ibeta input two-phase vector coordinate beta * @param[in] Ibeta input two-phase vector coordinate beta
* @param[out] *pId points to output rotor reference frame d * @param[out] *pId points to output rotor reference frame d
* @param[out] *pIq points to output rotor reference frame q * @param[out] *pIq points to output rotor reference frame q
* @param[in] sinVal sine value of rotation angle theta * @param[in] sinVal sine value of rotation angle theta
* @param[in] cosVal cosine value of rotation angle theta * @param[in] cosVal cosine value of rotation angle theta
* @return none. * @return none.
@ -5496,7 +5496,7 @@ extern "C"
} }
/** /**
* @brief Inverse Park transform for Q31 version * @brief Inverse Park transform for Q31 version
* @param[in] Id input coordinate of rotor reference frame d * @param[in] Id input coordinate of rotor reference frame d
* @param[in] Iq input coordinate of rotor reference frame q * @param[in] Iq input coordinate of rotor reference frame q
* @param[out] *pIalpha points to output two-phase orthogonal vector axis alpha * @param[out] *pIalpha points to output two-phase orthogonal vector axis alpha

View File

@ -105,11 +105,11 @@ typedef enum IRQn
#endif #endif
#include <stdio.h> #include <stdio.h>
#include "core_cm4.h" /* Cortex-M0 processor and core peripherals */ #include "core_cm4.h" /* Cortex-M0 processor and core peripherals */
#include "system_SWM320.h" #include "system_SWM320.h"
/******************************************************************************/ /******************************************************************************/
/* Device Specific Peripheral registers structures */ /* Device Specific Peripheral registers structures */
/******************************************************************************/ /******************************************************************************/
typedef struct typedef struct
{ {
@ -181,11 +181,11 @@ typedef struct
__IO uint32_t ADC1IN7; __IO uint32_t ADC1IN7;
} SYS_TypeDef; } SYS_TypeDef;
#define SYS_CLKSEL_LFCK_Pos 0 //Low Frequency Clock Source 0 LRC 1 PLL #define SYS_CLKSEL_LFCK_Pos 0 //Low Frequency Clock Source 0 LRC 1 PLL
#define SYS_CLKSEL_LFCK_Msk (0x01 << SYS_CLKSEL_LFCK_Pos) #define SYS_CLKSEL_LFCK_Msk (0x01 << SYS_CLKSEL_LFCK_Pos)
#define SYS_CLKSEL_HFCK_Pos 1 //High Frequency Clock Source 0 HRC 1 XTAL #define SYS_CLKSEL_HFCK_Pos 1 //High Frequency Clock Source 0 HRC 1 XTAL
#define SYS_CLKSEL_HFCK_Msk (0x01 << SYS_CLKSEL_HFCK_Pos) #define SYS_CLKSEL_HFCK_Msk (0x01 << SYS_CLKSEL_HFCK_Pos)
#define SYS_CLKSEL_SYS_Pos 2 //系统时钟选择 0 LFCK 1 HFCK #define SYS_CLKSEL_SYS_Pos 2 //系统时钟选择 0 LFCK 1 HFCK
#define SYS_CLKSEL_SYS_Msk (0x01 << SYS_CLKSEL_SYS_Pos) #define SYS_CLKSEL_SYS_Msk (0x01 << SYS_CLKSEL_SYS_Pos)
#define SYS_CLKDIV_SYS_Pos 0 //系统时钟分频 0 1分频 1 2分频 #define SYS_CLKDIV_SYS_Pos 0 //系统时钟分频 0 1分频 1 2分频
@ -312,7 +312,7 @@ typedef struct
#define SYS_LRCTRIM1_U_Pos 0 //LRC U调控制位 #define SYS_LRCTRIM1_U_Pos 0 //LRC U调控制位
#define SYS_LRCTRIM1_U_Msk (0x7FFF << SYS_LRCTRIM1_U_Pos) #define SYS_LRCTRIM1_U_Msk (0x7FFF << SYS_LRCTRIM1_U_Pos)
#define SYS_HRCCR_DBL_Pos 0 //Double Frequency 0 20MHz 1 40MHz #define SYS_HRCCR_DBL_Pos 0 //Double Frequency 0 20MHz 1 40MHz
#define SYS_HRCCR_DBL_Msk (0x01 << SYS_HRCCR_DBL_Pos) #define SYS_HRCCR_DBL_Msk (0x01 << SYS_HRCCR_DBL_Pos)
#define SYS_HRCCR_OFF_Pos 1 //High speed RC Off #define SYS_HRCCR_OFF_Pos 1 //High speed RC Off
#define SYS_HRCCR_OFF_Msk (0x01 << SYS_HRCCR_OFF_Pos) #define SYS_HRCCR_OFF_Msk (0x01 << SYS_HRCCR_OFF_Pos)
@ -1165,17 +1165,17 @@ typedef struct
#define PIN23 23 #define PIN23 23
#define PIN24 24 #define PIN24 24
__IO uint32_t DIR; //0 输入 1 输出 __IO uint32_t DIR; //0 输入 1 输出
__IO uint32_t INTLVLTRG; //Interrupt Level Trigger 1 电平触发中断 0 边沿触发中断 __IO uint32_t INTLVLTRG; //Interrupt Level Trigger 1 电平触发中断 0 边沿触发中断
__IO uint32_t INTBE; //Both Edge当INTLVLTRG设为边沿触发中断时此位置1表示上升沿和下降沿都触发中断置0时触发边沿由INTRISEEN选择 __IO uint32_t INTBE; //Both Edge当INTLVLTRG设为边沿触发中断时此位置1表示上升沿和下降沿都触发中断置0时触发边沿由INTRISEEN选择
__IO uint32_t INTRISEEN; //Interrupt Rise Edge Enable 1 上升沿/高电平触发中断 0 下降沿/低电平触发中断 __IO uint32_t INTRISEEN; //Interrupt Rise Edge Enable 1 上升沿/高电平触发中断 0 下降沿/低电平触发中断
__IO uint32_t INTEN; //1 中断使能 0 中断禁止 __IO uint32_t INTEN; //1 中断使能 0 中断禁止
__IO uint32_t INTRAWSTAT; //中断检测单元是否检测到了触发中断的条件 1 检测到了中断触发条件 0 没有检测到中断触发条件 __IO uint32_t INTRAWSTAT; //中断检测单元是否检测到了触发中断的条件 1 检测到了中断触发条件 0 没有检测到中断触发条件
__IO uint32_t INTSTAT; //INTSTAT.PIN0 = INTRAWSTAT.PIN0 & INTEN.PIN0 __IO uint32_t INTSTAT; //INTSTAT.PIN0 = INTRAWSTAT.PIN0 & INTEN.PIN0
@ -1193,7 +1193,7 @@ typedef struct
#define TIMR_CTRL_EN_Pos 0 //此位赋1导致TIMR从LDVAL开始向下递减计数 #define TIMR_CTRL_EN_Pos 0 //此位赋1导致TIMR从LDVAL开始向下递减计数
#define TIMR_CTRL_EN_Msk (0x01 << TIMR_CTRL_EN_Pos) #define TIMR_CTRL_EN_Msk (0x01 << TIMR_CTRL_EN_Pos)
#define TIMR_CTRL_CLKSRC_Pos 1 //时钟源0 内部系统时钟 1 外部引脚脉冲计数 #define TIMR_CTRL_CLKSRC_Pos 1 //时钟源0 内部系统时钟 1 外部引脚脉冲计数
#define TIMR_CTRL_CLKSRC_Msk (0x01 << TIMR_CTRL_CLKSRC_Pos) #define TIMR_CTRL_CLKSRC_Msk (0x01 << TIMR_CTRL_CLKSRC_Pos)
#define TIMR_CTRL_CASCADE_Pos 2 //1 TIMRx的计数时钟为TIMRx-1的溢出信号 #define TIMR_CTRL_CASCADE_Pos 2 //1 TIMRx的计数时钟为TIMRx-1的溢出信号
#define TIMR_CTRL_CASCADE_Msk (0x01 << TIMR_CTRL_CASCADE_Pos) #define TIMR_CTRL_CASCADE_Msk (0x01 << TIMR_CTRL_CASCADE_Pos)
@ -1215,9 +1215,9 @@ typedef struct
#define TIMRG_PCTRL_EN_Pos 0 //开始测量脉宽脉宽内32位计数器从0开始向上计数 #define TIMRG_PCTRL_EN_Pos 0 //开始测量脉宽脉宽内32位计数器从0开始向上计数
#define TIMRG_PCTRL_EN_Msk (0x01 << TIMRG_PCTRL_EN_Pos) #define TIMRG_PCTRL_EN_Msk (0x01 << TIMRG_PCTRL_EN_Pos)
#define TIMRG_PCTRL_HIGH_Pos 1 //0 测量低电平长度 1 测量高电平长度 #define TIMRG_PCTRL_HIGH_Pos 1 //0 测量低电平长度 1 测量高电平长度
#define TIMRG_PCTRL_HIGH_Msk (0x01 << TIMRG_PCTRL_HIGH_Pos) #define TIMRG_PCTRL_HIGH_Msk (0x01 << TIMRG_PCTRL_HIGH_Pos)
#define TIMRG_PCTRL_CLKSRC_Pos 2 //时钟源0 内部系统时钟 1 脉宽测量模块变成一个计数器,不再具有脉宽测量功能 #define TIMRG_PCTRL_CLKSRC_Pos 2 //时钟源0 内部系统时钟 1 脉宽测量模块变成一个计数器,不再具有脉宽测量功能
#define TIMRG_PCTRL_CLKSRC_Msk (0x01 << TIMRG_PCTRL_CLKSRC_Pos) #define TIMRG_PCTRL_CLKSRC_Msk (0x01 << TIMRG_PCTRL_CLKSRC_Pos)
#define TIMRG_IE_TIMR0_Pos 0 #define TIMRG_IE_TIMR0_Pos 0
@ -1290,7 +1290,7 @@ typedef struct
#define UART_DATA_PAERR_Pos 10 //Parity Error #define UART_DATA_PAERR_Pos 10 //Parity Error
#define UART_DATA_PAERR_Msk (0x01 << UART_DATA_PAERR_Pos) #define UART_DATA_PAERR_Msk (0x01 << UART_DATA_PAERR_Pos)
#define UART_CTRL_TXIDLE_Pos 0 //TX IDLE: 0 正在发送数据 1 空闲状态,没有数据发送 #define UART_CTRL_TXIDLE_Pos 0 //TX IDLE: 0 正在发送数据 1 空闲状态,没有数据发送
#define UART_CTRL_TXIDLE_Msk (0x01 << UART_CTRL_TXIDLE_Pos) #define UART_CTRL_TXIDLE_Msk (0x01 << UART_CTRL_TXIDLE_Pos)
#define UART_CTRL_TXFF_Pos 1 //TX FIFO Full #define UART_CTRL_TXFF_Pos 1 //TX FIFO Full
#define UART_CTRL_TXFF_Msk (0x01 << UART_CTRL_TXFF_Pos) #define UART_CTRL_TXFF_Msk (0x01 << UART_CTRL_TXFF_Pos)
@ -1414,19 +1414,19 @@ typedef struct
#define SPI_CTRL_EN_Msk (0x01 << SPI_CTRL_EN_Pos) #define SPI_CTRL_EN_Msk (0x01 << SPI_CTRL_EN_Pos)
#define SPI_CTRL_SIZE_Pos 4 //Data Size Select, 取值3--15表示4--16位 #define SPI_CTRL_SIZE_Pos 4 //Data Size Select, 取值3--15表示4--16位
#define SPI_CTRL_SIZE_Msk (0x0F << SPI_CTRL_SIZE_Pos) #define SPI_CTRL_SIZE_Msk (0x0F << SPI_CTRL_SIZE_Pos)
#define SPI_CTRL_CPHA_Pos 8 //0 在SCLK的第一个跳变沿采样数据 1 在SCLK的第二个跳变沿采样数据 #define SPI_CTRL_CPHA_Pos 8 //0 在SCLK的第一个跳变沿采样数据 1 在SCLK的第二个跳变沿采样数据
#define SPI_CTRL_CPHA_Msk (0x01 << SPI_CTRL_CPHA_Pos) #define SPI_CTRL_CPHA_Msk (0x01 << SPI_CTRL_CPHA_Pos)
#define SPI_CTRL_CPOL_Pos 9 //0 空闲状态下SCLK为低电平 1 空闲状态下SCLK为高电平 #define SPI_CTRL_CPOL_Pos 9 //0 空闲状态下SCLK为低电平 1 空闲状态下SCLK为高电平
#define SPI_CTRL_CPOL_Msk (0x01 << SPI_CTRL_CPOL_Pos) #define SPI_CTRL_CPOL_Msk (0x01 << SPI_CTRL_CPOL_Pos)
#define SPI_CTRL_FFS_Pos 10 //Frame Format Select, 0 SPI 1 TI SSI 2 SPI 3 SPI #define SPI_CTRL_FFS_Pos 10 //Frame Format Select, 0 SPI 1 TI SSI 2 SPI 3 SPI
#define SPI_CTRL_FFS_Msk (0x03 << SPI_CTRL_FFS_Pos) #define SPI_CTRL_FFS_Msk (0x03 << SPI_CTRL_FFS_Pos)
#define SPI_CTRL_MSTR_Pos 12 //Master, 1 主模式 0 从模式 #define SPI_CTRL_MSTR_Pos 12 //Master, 1 主模式 0 从模式
#define SPI_CTRL_MSTR_Msk (0x01 << SPI_CTRL_MSTR_Pos) #define SPI_CTRL_MSTR_Msk (0x01 << SPI_CTRL_MSTR_Pos)
#define SPI_CTRL_FAST_Pos 13 //1 SPI工作时钟 = SYS_Freq/2 0 SPI工作时钟由SPI->CTRL.CLKDIV设置 #define SPI_CTRL_FAST_Pos 13 //1 SPI工作时钟 = SYS_Freq/2 0 SPI工作时钟由SPI->CTRL.CLKDIV设置
#define SPI_CTRL_FAST_Msk (0x01 << SPI_CTRL_FAST_Pos) #define SPI_CTRL_FAST_Msk (0x01 << SPI_CTRL_FAST_Pos)
#define SPI_CTRL_FILTE_Pos 16 //1 对SPI输入信号进行去抖操作 0 对SPI输入信号不进行去抖操作 #define SPI_CTRL_FILTE_Pos 16 //1 对SPI输入信号进行去抖操作 0 对SPI输入信号不进行去抖操作
#define SPI_CTRL_FILTE_Msk (0x01 << SPI_CTRL_FILTE_Pos) #define SPI_CTRL_FILTE_Msk (0x01 << SPI_CTRL_FILTE_Pos)
#define SPI_CTRL_SSN_H_Pos 17 //0 传输过程中SSN始终为0 1 传输过程中每字符之间会将SSN拉高半个SCLK周期 #define SPI_CTRL_SSN_H_Pos 17 //0 传输过程中SSN始终为0 1 传输过程中每字符之间会将SSN拉高半个SCLK周期
#define SPI_CTRL_SSN_H_Msk (0x01 << SPI_CTRL_SSN_H_Pos) #define SPI_CTRL_SSN_H_Msk (0x01 << SPI_CTRL_SSN_H_Pos)
#define SPI_CTRL_TFCLR_Pos 24 //TX FIFO Clear #define SPI_CTRL_TFCLR_Pos 24 //TX FIFO Clear
#define SPI_CTRL_TFCLR_Msk (0x01 << SPI_CTRL_TFCLR_Pos) #define SPI_CTRL_TFCLR_Msk (0x01 << SPI_CTRL_TFCLR_Pos)
@ -1445,9 +1445,9 @@ typedef struct
#define SPI_STAT_RFF_Msk (0x01 << SPI_STAT_RFF_Pos) #define SPI_STAT_RFF_Msk (0x01 << SPI_STAT_RFF_Pos)
#define SPI_STAT_RFOVF_Pos 5 //接收FIFO Overflow #define SPI_STAT_RFOVF_Pos 5 //接收FIFO Overflow
#define SPI_STAT_RFOVF_Msk (0x01 << SPI_STAT_RFOVF_Pos) #define SPI_STAT_RFOVF_Msk (0x01 << SPI_STAT_RFOVF_Pos)
#define SPI_STAT_TFLVL_Pos 6 //发送FIFO中数据个数 0 TFNF=0时表示FIFO内有8个数据TFNF=1时表示FIFO内有0个数据 1--7 FIFO内有1--7个数据 #define SPI_STAT_TFLVL_Pos 6 //发送FIFO中数据个数 0 TFNF=0时表示FIFO内有8个数据TFNF=1时表示FIFO内有0个数据 1--7 FIFO内有1--7个数据
#define SPI_STAT_TFLVL_Msk (0x07 << SPI_STAT_TFLVL_Pos) #define SPI_STAT_TFLVL_Msk (0x07 << SPI_STAT_TFLVL_Pos)
#define SPI_STAT_RFLVL_Pos 9 //接收FIFO中数据个数 0 RFF=1时表示FIFO内有8个数据 RFF=0时表示FIFO内有0个数据 1--7 FIFO内有1--7个数据 #define SPI_STAT_RFLVL_Pos 9 //接收FIFO中数据个数 0 RFF=1时表示FIFO内有8个数据 RFF=0时表示FIFO内有0个数据 1--7 FIFO内有1--7个数据
#define SPI_STAT_RFLVL_Msk (0x07 << SPI_STAT_RFLVL_Pos) #define SPI_STAT_RFLVL_Msk (0x07 << SPI_STAT_RFLVL_Pos)
#define SPI_STAT_BUSY_Pos 15 #define SPI_STAT_BUSY_Pos 15
#define SPI_STAT_BUSY_Msk (0x01 << SPI_STAT_BUSY_Pos) #define SPI_STAT_BUSY_Msk (0x01 << SPI_STAT_BUSY_Pos)
@ -1506,21 +1506,21 @@ typedef struct
#define I2C_CTRL_EN_Pos 7 #define I2C_CTRL_EN_Pos 7
#define I2C_CTRL_EN_Msk (0x01 << I2C_CTRL_EN_Pos) #define I2C_CTRL_EN_Msk (0x01 << I2C_CTRL_EN_Pos)
#define I2C_MSTCMD_IF_Pos 0 //1 有等待处理的中断写1清零 有两种情况下此位硬件置位1、一个字节传输完成 2、总线访问权丢失 #define I2C_MSTCMD_IF_Pos 0 //1 有等待处理的中断写1清零 有两种情况下此位硬件置位1、一个字节传输完成 2、总线访问权丢失
#define I2C_MSTCMD_IF_Msk (0x01 << I2C_MSTCMD_IF_Pos) #define I2C_MSTCMD_IF_Msk (0x01 << I2C_MSTCMD_IF_Pos)
#define I2C_MSTCMD_TIP_Pos 1 //Transmission In Process #define I2C_MSTCMD_TIP_Pos 1 //Transmission In Process
#define I2C_MSTCMD_TIP_Msk (0x01 << I2C_MSTCMD_TIP_Pos) #define I2C_MSTCMD_TIP_Msk (0x01 << I2C_MSTCMD_TIP_Pos)
#define I2C_MSTCMD_ACK_Pos 3 //接收模式下0 向发送端反馈ACK 1 向发送端反馈NACK #define I2C_MSTCMD_ACK_Pos 3 //接收模式下0 向发送端反馈ACK 1 向发送端反馈NACK
#define I2C_MSTCMD_ACK_Msk (0x01 << I2C_MSTCMD_ACK_Pos) #define I2C_MSTCMD_ACK_Msk (0x01 << I2C_MSTCMD_ACK_Pos)
#define I2C_MSTCMD_WR_Pos 4 // 向Slave写数据时把这一位写1自动清零 #define I2C_MSTCMD_WR_Pos 4 // 向Slave写数据时把这一位写1自动清零
#define I2C_MSTCMD_WR_Msk (0x01 << I2C_MSTCMD_WR_Pos) #define I2C_MSTCMD_WR_Msk (0x01 << I2C_MSTCMD_WR_Pos)
#define I2C_MSTCMD_RD_Pos 5 //写从Slave读数据时把这一位写1自动清零 当I2C模块失去总线的访问权时硬件置1 #define I2C_MSTCMD_RD_Pos 5 //写从Slave读数据时把这一位写1自动清零 当I2C模块失去总线的访问权时硬件置1
#define I2C_MSTCMD_RD_Msk (0x01 << I2C_MSTCMD_RD_Pos) #define I2C_MSTCMD_RD_Msk (0x01 << I2C_MSTCMD_RD_Pos)
#define I2C_MSTCMD_BUSY_Pos 6 //读当检测到START之后这一位变1当检测到STOP之后这一位变0 #define I2C_MSTCMD_BUSY_Pos 6 //读当检测到START之后这一位变1当检测到STOP之后这一位变0
#define I2C_MSTCMD_BUSY_Msk (0x01 << I2C_MSTCMD_BUSY_Pos) #define I2C_MSTCMD_BUSY_Msk (0x01 << I2C_MSTCMD_BUSY_Pos)
#define I2C_MSTCMD_STO_Pos 6 //写产生STOP自动清零 #define I2C_MSTCMD_STO_Pos 6 //写产生STOP自动清零
#define I2C_MSTCMD_STO_Msk (0x01 << I2C_MSTCMD_STO_Pos) #define I2C_MSTCMD_STO_Msk (0x01 << I2C_MSTCMD_STO_Pos)
#define I2C_MSTCMD_RXACK_Pos 7 //读接收到的Slave的ACK位0 收到ACK 1 收到NACK #define I2C_MSTCMD_RXACK_Pos 7 //读接收到的Slave的ACK位0 收到ACK 1 收到NACK
#define I2C_MSTCMD_RXACK_Msk (0x01 << I2C_MSTCMD_RXACK_Pos) #define I2C_MSTCMD_RXACK_Msk (0x01 << I2C_MSTCMD_RXACK_Pos)
#define I2C_MSTCMD_STA_Pos 7 //写产生START自动清零 #define I2C_MSTCMD_STA_Pos 7 //写产生START自动清零
#define I2C_MSTCMD_STA_Msk (0x01 << I2C_MSTCMD_STA_Pos) #define I2C_MSTCMD_STA_Msk (0x01 << I2C_MSTCMD_STA_Pos)
@ -1609,13 +1609,13 @@ typedef struct
#define ADC_CTRL_CH6_Msk (0x01 << ADC_CTRL_CH6_Pos) #define ADC_CTRL_CH6_Msk (0x01 << ADC_CTRL_CH6_Pos)
#define ADC_CTRL_CH7_Pos 7 #define ADC_CTRL_CH7_Pos 7
#define ADC_CTRL_CH7_Msk (0x01 << ADC_CTRL_CH7_Pos) #define ADC_CTRL_CH7_Msk (0x01 << ADC_CTRL_CH7_Pos)
#define ADC_CTRL_AVG_Pos 8 //0 1次采样 1 2次采样取平均值 3 4次采样取平均值 7 8次采样取平均值 15 16次采样取平均值 #define ADC_CTRL_AVG_Pos 8 //0 1次采样 1 2次采样取平均值 3 4次采样取平均值 7 8次采样取平均值 15 16次采样取平均值
#define ADC_CTRL_AVG_Msk (0x0F << ADC_CTRL_AVG_Pos) #define ADC_CTRL_AVG_Msk (0x0F << ADC_CTRL_AVG_Pos)
#define ADC_CTRL_EN_Pos 12 #define ADC_CTRL_EN_Pos 12
#define ADC_CTRL_EN_Msk (0x01 << ADC_CTRL_EN_Pos) #define ADC_CTRL_EN_Msk (0x01 << ADC_CTRL_EN_Pos)
#define ADC_CTRL_CONT_Pos 13 //Continuous conversion只在软件启动模式下有效0 单次转换转换完成后START位自动清除停止转换 #define ADC_CTRL_CONT_Pos 13 //Continuous conversion只在软件启动模式下有效0 单次转换转换完成后START位自动清除停止转换
#define ADC_CTRL_CONT_Msk (0x01 << ADC_CTRL_CONT_Pos) // 1 连续转换启动后一直采样、转换直到软件清除START位 #define ADC_CTRL_CONT_Msk (0x01 << ADC_CTRL_CONT_Pos) // 1 连续转换启动后一直采样、转换直到软件清除START位
#define ADC_CTRL_TRIG_Pos 14 //转换触发方式0 软件启动转换 1 PWM触发 #define ADC_CTRL_TRIG_Pos 14 //转换触发方式0 软件启动转换 1 PWM触发
#define ADC_CTRL_TRIG_Msk (0x01 << ADC_CTRL_TRIG_Pos) #define ADC_CTRL_TRIG_Msk (0x01 << ADC_CTRL_TRIG_Pos)
#define ADC_CTRL_CLKSRC_Pos 15 //0 VCO 1 HRC #define ADC_CTRL_CLKSRC_Pos 15 //0 VCO 1 HRC
#define ADC_CTRL_CLKSRC_Msk (0x01 << ADC_CTRL_CLKSRC_Pos) #define ADC_CTRL_CLKSRC_Msk (0x01 << ADC_CTRL_CLKSRC_Pos)
@ -1780,7 +1780,7 @@ typedef struct
#define ADC_CTRL2_PGAGAIN_Pos 3 //0 25.1dB 1 21.6dB 2 11.1dB 3 3.5dB 4 0dB(1.8V) 5 -2.9dB 6 -5.3dB #define ADC_CTRL2_PGAGAIN_Pos 3 //0 25.1dB 1 21.6dB 2 11.1dB 3 3.5dB 4 0dB(1.8V) 5 -2.9dB 6 -5.3dB
#define ADC_CTRL2_PGAGAIN_Msk (0x07 << ADC_CTRL2_PGAGAIN_Pos) #define ADC_CTRL2_PGAGAIN_Msk (0x07 << ADC_CTRL2_PGAGAIN_Pos)
#define ADC_CTRL2_REFPOUT_Pos 23 //1 ADC 内部 1.2V REFP电压输出到外部REFP引脚用于测量或在需要1.2V外部REFP时节省成本 #define ADC_CTRL2_REFPOUT_Pos 23 //1 ADC 内部 1.2V REFP电压输出到外部REFP引脚用于测量或在需要1.2V外部REFP时节省成本
#define ADC_CTRL2_REFPOUT_Msk (0x01 << ADC_CTRL2_REFPOUT_Pos #define ADC_CTRL2_REFPOUT_Msk (0x01 << ADC_CTRL2_REFPOUT_Pos
#define ADC_CTRL2_CLKDIV_Pos 24 //时钟分频只在时钟源为HRC时有效 #define ADC_CTRL2_CLKDIV_Pos 24 //时钟分频只在时钟源为HRC时有效
#define ADC_CTRL2_CLKDIV_Msk (0x1F << ADC_CTRL2_CLKDIV_Pos) #define ADC_CTRL2_CLKDIV_Msk (0x1F << ADC_CTRL2_CLKDIV_Pos)
#define ADC_CTRL2_PGAVCM_Pos 29 #define ADC_CTRL2_PGAVCM_Pos 29
@ -2235,7 +2235,7 @@ typedef struct
#define DMA_CR_AUTORE_Pos 18 //Auto Restart, 通道在传输完成后,是否自动重新启动 #define DMA_CR_AUTORE_Pos 18 //Auto Restart, 通道在传输完成后,是否自动重新启动
#define DMA_CR_AUTORE_Msk (0x01 << DMA_CR_AUTORE_Pos) #define DMA_CR_AUTORE_Msk (0x01 << DMA_CR_AUTORE_Pos)
#define DMA_AM_SRCAM_Pos 0 //Address Mode 0 地址固定 1 地址递增 2 scatter gather模式 #define DMA_AM_SRCAM_Pos 0 //Address Mode 0 地址固定 1 地址递增 2 scatter gather模式
#define DMA_AM_SRCAM_Msk (0x03 << DMA_AM_SRCAM_Pos) #define DMA_AM_SRCAM_Msk (0x03 << DMA_AM_SRCAM_Pos)
#define DMA_AM_DSTAM_Pos 8 #define DMA_AM_DSTAM_Pos 8
#define DMA_AM_DSTAM_Msk (0x03 << DMA_AM_DSTAM_Pos) #define DMA_AM_DSTAM_Msk (0x03 << DMA_AM_DSTAM_Pos)
@ -2950,7 +2950,7 @@ typedef struct
#define WDT_CR_RSTEN_Msk (0x01 << WDT_CR_RSTEN_Pos) #define WDT_CR_RSTEN_Msk (0x01 << WDT_CR_RSTEN_Pos)
/******************************************************************************/ /******************************************************************************/
/* Peripheral memory map */ /* Peripheral memory map */
/******************************************************************************/ /******************************************************************************/
#define RAM_BASE 0x20000000 #define RAM_BASE 0x20000000
#define AHB_BASE 0x40000000 #define AHB_BASE 0x40000000
@ -3026,7 +3026,7 @@ typedef struct
#define CAN_BASE (APB_BASE + 0x20000) #define CAN_BASE (APB_BASE + 0x20000)
/******************************************************************************/ /******************************************************************************/
/* Peripheral declaration */ /* Peripheral declaration */
/******************************************************************************/ /******************************************************************************/
#define SYS ((SYS_TypeDef *)SYS_BASE) #define SYS ((SYS_TypeDef *)SYS_BASE)

View File

@ -1,18 +1,18 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : system_SWM320.c * : system_SWM320.c
* : SWM320单片机的时钟设置 * : SWM320单片机的时钟设置
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
@ -43,7 +43,7 @@
/********************************** PLL 设定 ********************************************** /********************************** PLL 设定 **********************************************
* VCO输出频率 = PLL输入时钟 / INDIV * 4 * FBDIV * VCO输出频率 = PLL输入时钟 / INDIV * 4 * FBDIV
* PLL输出频率 = PLL输入时钟 / INDIV * 4 * FBDIV / OUTDIV = VCO输出频率 / OUTDIV * PLL输出频率 = PLL输入时钟 / INDIV * 4 * FBDIV / OUTDIV = VCO输出频率 / OUTDIV
* VCO输出频率需要在 [600MHz, 1200MHz] * VCO输出频率需要在 [600MHz, 1200MHz]
*****************************************************************************************/ *****************************************************************************************/
#define SYS_PLL_SRC SYS_CLK_20MHz //可取值SYS_CLK_20MHz、SYS_CLK_XTAL #define SYS_PLL_SRC SYS_CLK_20MHz //可取值SYS_CLK_20MHz、SYS_CLK_XTAL
@ -61,12 +61,12 @@
uint32_t SystemCoreClock = __HSI; //System Clock Frequency (Core Clock) uint32_t SystemCoreClock = __HSI; //System Clock Frequency (Core Clock)
uint32_t CyclesPerUs = (__HSI / 1000000); //Cycles per micro second uint32_t CyclesPerUs = (__HSI / 1000000); //Cycles per micro second
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : * :
* : This function is used to update the variable SystemCoreClock and must be called whenever the core clock is changed * : This function is used to update the variable SystemCoreClock and must be called whenever the core clock is changed
* : * :
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
void SystemCoreClockUpdate(void) void SystemCoreClockUpdate(void)
{ {
@ -115,12 +115,12 @@ void SystemCoreClockUpdate(void)
CyclesPerUs = SystemCoreClock / 1000000; CyclesPerUs = SystemCoreClock / 1000000;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : * :
* : The necessary initializaiton of systerm * : The necessary initializaiton of systerm
* : * :
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
void SystemInit(void) void SystemInit(void)
{ {

View File

@ -1,29 +1,29 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_adc.c * : SWM320_adc.c
* : SWM320单片机的ADC数模转换器功能驱动库 * : SWM320单片机的ADC数模转换器功能驱动库
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
* COPYRIGHT 2012 Synwit Technology * COPYRIGHT 2012 Synwit Technology
*******************************************************************************************************************************************/ *******************************************************************************************************************************************/
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_adc.h" #include "SWM320_adc.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_Init() * : ADC_Init()
* : ADC模数转换器初始化 * : ADC模数转换器初始化
* : ADC_TypeDef * ADCx ADCADC0ADC1 * : ADC_TypeDef * ADCx ADCADC0ADC1
* ADC_InitStructure * initStruct ADC各相关定值的结构体 * ADC_InitStructure * initStruct ADC各相关定值的结构体
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -152,10 +152,10 @@ void ADC_Init(ADC_TypeDef *ADCx, ADC_InitStructure *initStruct)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_Open() * : ADC_Open()
* : ADC开启ADC转换 * : ADC开启ADC转换
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -164,10 +164,10 @@ void ADC_Open(ADC_TypeDef *ADCx)
ADCx->CTRL |= (0x01 << ADC_CTRL_EN_Pos); ADCx->CTRL |= (0x01 << ADC_CTRL_EN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_Close() * : ADC_Close()
* : ADC关闭ADC转换 * : ADC关闭ADC转换
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -176,10 +176,10 @@ void ADC_Close(ADC_TypeDef *ADCx)
ADCx->CTRL &= ~(0x01 << ADC_CTRL_EN_Pos); ADCx->CTRL &= ~(0x01 << ADC_CTRL_EN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_Start() * : ADC_Start()
* : ADC转换 * : ADC转换
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -188,10 +188,10 @@ void ADC_Start(ADC_TypeDef *ADCx)
ADCx->START |= (0x01 << ADC_START_GO_Pos); ADCx->START |= (0x01 << ADC_START_GO_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_Stop() * : ADC_Stop()
* : ADC转换 * : ADC转换
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -235,12 +235,12 @@ static uint32_t chn2idx(uint32_t chn)
return idx; return idx;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_Read() * : ADC_Read()
* : * :
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : uint32_t * : uint32_t
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t ADC_Read(ADC_TypeDef *ADCx, uint32_t chn) uint32_t ADC_Read(ADC_TypeDef *ADCx, uint32_t chn)
@ -255,12 +255,12 @@ uint32_t ADC_Read(ADC_TypeDef *ADCx, uint32_t chn)
return dat; return dat;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IsEOC() * : ADC_IsEOC()
* : End Of Conversion * : End Of Conversion
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t ADC_IsEOC(ADC_TypeDef *ADCx, uint32_t chn) uint32_t ADC_IsEOC(ADC_TypeDef *ADCx, uint32_t chn)
@ -270,11 +270,11 @@ uint32_t ADC_IsEOC(ADC_TypeDef *ADCx, uint32_t chn)
return (ADCx->CH[idx].STAT & ADC_STAT_EOC_Msk) ? 1 : 0; return (ADCx->CH[idx].STAT & ADC_STAT_EOC_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_ChnSelect() * : ADC_ChnSelect()
* : ADC通道选通 * : ADC通道选通
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chns ADC_CH0ADC_CH1... ... ADC_CH7及其组合 * uint32_t chns ADC_CH0ADC_CH1... ... ADC_CH7及其组合
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -284,11 +284,11 @@ void ADC_ChnSelect(ADC_TypeDef *ADCx, uint32_t chns)
ADCx->CTRL |= (chns << ADC_CTRL_CH0_Pos); ADCx->CTRL |= (chns << ADC_CTRL_CH0_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntEOCEn() * : ADC_IntEOCEn()
* : 使 * : 使
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -299,11 +299,11 @@ void ADC_IntEOCEn(ADC_TypeDef *ADCx, uint32_t chn)
ADCx->IE |= (0x01 << (idx * 4)); ADCx->IE |= (0x01 << (idx * 4));
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntEOCDis() * : ADC_IntEOCDis()
* : * :
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -314,11 +314,11 @@ void ADC_IntEOCDis(ADC_TypeDef *ADCx, uint32_t chn)
ADCx->IE &= ~(0x01 << (idx * 4)); ADCx->IE &= ~(0x01 << (idx * 4));
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntEOCClr() * : ADC_IntEOCClr()
* : * :
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -329,12 +329,12 @@ void ADC_IntEOCClr(ADC_TypeDef *ADCx, uint32_t chn)
ADCx->IF = (0x01 << (idx * 4)); ADCx->IF = (0x01 << (idx * 4));
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntEOCStat() * : ADC_IntEOCStat()
* : * :
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t ADC_IntEOCStat(ADC_TypeDef *ADCx, uint32_t chn) uint32_t ADC_IntEOCStat(ADC_TypeDef *ADCx, uint32_t chn)
@ -344,11 +344,11 @@ uint32_t ADC_IntEOCStat(ADC_TypeDef *ADCx, uint32_t chn)
return (ADCx->IF & (0x01 << (idx * 4))) ? 1 : 0; return (ADCx->IF & (0x01 << (idx * 4))) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntOVFEn() * : ADC_IntOVFEn()
* : 使 * : 使
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -359,11 +359,11 @@ void ADC_IntOVFEn(ADC_TypeDef *ADCx, uint32_t chn)
ADCx->IE |= (0x01 << (idx * 4 + 1)); ADCx->IE |= (0x01 << (idx * 4 + 1));
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntOVFDis() * : ADC_IntOVFDis()
* : * :
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -374,11 +374,11 @@ void ADC_IntOVFDis(ADC_TypeDef *ADCx, uint32_t chn)
ADCx->IE &= ~(0x01 << (idx * 4 + 1)); ADCx->IE &= ~(0x01 << (idx * 4 + 1));
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntOVFClr() * : ADC_IntOVFClr()
* : * :
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -389,12 +389,12 @@ void ADC_IntOVFClr(ADC_TypeDef *ADCx, uint32_t chn)
ADCx->IF = (0x01 << (idx * 4 + 1)); ADCx->IF = (0x01 << (idx * 4 + 1));
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntOVFStat() * : ADC_IntOVFStat()
* : * :
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t ADC_IntOVFStat(ADC_TypeDef *ADCx, uint32_t chn) uint32_t ADC_IntOVFStat(ADC_TypeDef *ADCx, uint32_t chn)
@ -404,11 +404,11 @@ uint32_t ADC_IntOVFStat(ADC_TypeDef *ADCx, uint32_t chn)
return (ADCx->IF & (0x01 << (idx * 4 + 1))) ? 1 : 0; return (ADCx->IF & (0x01 << (idx * 4 + 1))) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntHFULLEn() * : ADC_IntHFULLEn()
* : FIFO半满中断使能 * : FIFO半满中断使能
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -419,11 +419,11 @@ void ADC_IntHFULLEn(ADC_TypeDef *ADCx, uint32_t chn)
ADCx->IE |= (0x01 << (idx * 4 + 2)); ADCx->IE |= (0x01 << (idx * 4 + 2));
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntHFULLDis() * : ADC_IntHFULLDis()
* : FIFO半满中断禁止 * : FIFO半满中断禁止
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -434,11 +434,11 @@ void ADC_IntHFULLDis(ADC_TypeDef *ADCx, uint32_t chn)
ADCx->IE &= ~(0x01 << (idx * 4 + 2)); ADCx->IE &= ~(0x01 << (idx * 4 + 2));
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntHFULLClr() * : ADC_IntHFULLClr()
* : FIFO半满中断标志清除 * : FIFO半满中断标志清除
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -449,12 +449,12 @@ void ADC_IntHFULLClr(ADC_TypeDef *ADCx, uint32_t chn)
ADCx->IF = (0x01 << (idx * 4 + 2)); ADCx->IF = (0x01 << (idx * 4 + 2));
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntHFULLStat() * : ADC_IntHFULLStat()
* : FIFO半满中断状态 * : FIFO半满中断状态
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t ADC_IntHFULLStat(ADC_TypeDef *ADCx, uint32_t chn) uint32_t ADC_IntHFULLStat(ADC_TypeDef *ADCx, uint32_t chn)
@ -464,11 +464,11 @@ uint32_t ADC_IntHFULLStat(ADC_TypeDef *ADCx, uint32_t chn)
return (ADCx->IF & (0x01 << (idx * 4 + 2))) ? 1 : 0; return (ADCx->IF & (0x01 << (idx * 4 + 2))) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntFULLEn() * : ADC_IntFULLEn()
* : FIFO满中断使能 * : FIFO满中断使能
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -479,11 +479,11 @@ void ADC_IntFULLEn(ADC_TypeDef *ADCx, uint32_t chn)
ADCx->IE |= (0x01 << (idx * 4 + 3)); ADCx->IE |= (0x01 << (idx * 4 + 3));
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntFULLDis() * : ADC_IntFULLDis()
* : FIFO满中断禁止 * : FIFO满中断禁止
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -494,11 +494,11 @@ void ADC_IntFULLDis(ADC_TypeDef *ADCx, uint32_t chn)
ADCx->IE &= ~(0x01 << (idx * 4 + 3)); ADCx->IE &= ~(0x01 << (idx * 4 + 3));
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntFULLClr() * : ADC_IntFULLClr()
* : FIFO满中断标志清除 * : FIFO满中断标志清除
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -509,12 +509,12 @@ void ADC_IntFULLClr(ADC_TypeDef *ADCx, uint32_t chn)
ADCx->IF = (0x01 << (idx * 4 + 3)); ADCx->IF = (0x01 << (idx * 4 + 3));
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : ADC_IntFULLStat() * : ADC_IntFULLStat()
* : FIFO满中断状态 * : FIFO满中断状态
* : ADC_TypeDef * ADCx ADCADC * : ADC_TypeDef * ADCx ADCADC
* uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7 * uint32_t chn ADC_CH0ADC_CH1... ... ADC_CH7
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t ADC_IntFULLStat(ADC_TypeDef *ADCx, uint32_t chn) uint32_t ADC_IntFULLStat(ADC_TypeDef *ADCx, uint32_t chn)

View File

@ -1,18 +1,18 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_can.c * : SWM320_can.c
* : SWM320单片机的CAN模块驱动库 * : SWM320单片机的CAN模块驱动库
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
@ -21,11 +21,11 @@
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_can.h" #include "SWM320_can.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_Init() * : CAN_Init()
* : CAN接口初始化 * : CAN接口初始化
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* CAN_InitStructure * initStruct CAN接口相关设定值的结构体 * CAN_InitStructure * initStruct CAN接口相关设定值的结构体
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -84,10 +84,10 @@ void CAN_Init(CAN_TypeDef *CANx, CAN_InitStructure *initStruct)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_Open() * : CAN_Open()
* : CAN接口打开 * : CAN接口打开
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -96,10 +96,10 @@ void CAN_Open(CAN_TypeDef *CANx)
CANx->CR &= ~(0x01 << CAN_CR_RST_Pos); //退出复位模式,进入工作模式 CANx->CR &= ~(0x01 << CAN_CR_RST_Pos); //退出复位模式,进入工作模式
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_Close() * : CAN_Close()
* : CAN接口关闭 * : CAN接口关闭
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -108,15 +108,15 @@ void CAN_Close(CAN_TypeDef *CANx)
CANx->CR |= (0x01 << CAN_CR_RST_Pos); //进入复位模式,不能发送和接收数据 CANx->CR |= (0x01 << CAN_CR_RST_Pos); //进入复位模式,不能发送和接收数据
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_Transmit() * : CAN_Transmit()
* : CAN发送数据 * : CAN发送数据
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* uint32_t format CAN_FRAME_STD CAN_FRAME_EXT * uint32_t format CAN_FRAME_STD CAN_FRAME_EXT
* uint32_t id ID * uint32_t id ID
* uint8_t data[] * uint8_t data[]
* uint32_t size * uint32_t size
* uint32_t once 使NAK * uint32_t once 使NAK
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -172,13 +172,13 @@ void CAN_Transmit(CAN_TypeDef *CANx, uint32_t format, uint32_t id, uint8_t data[
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_TransmitRequest() * : CAN_TransmitRequest()
* : CAN发送远程请求 * : CAN发送远程请求
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* uint32_t format CAN_FRAME_STD CAN_FRAME_EXT * uint32_t format CAN_FRAME_STD CAN_FRAME_EXT
* uint32_t id ID * uint32_t id ID
* uint32_t once 使NAK * uint32_t once 使NAK
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -215,11 +215,11 @@ void CAN_TransmitRequest(CAN_TypeDef *CANx, uint32_t format, uint32_t id, uint32
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_Receive() * : CAN_Receive()
* : CAN接收数据 * : CAN接收数据
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* CAN_RXMessage *msg * CAN_RXMessage *msg
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -253,11 +253,11 @@ void CAN_Receive(CAN_TypeDef *CANx, CAN_RXMessage *msg)
CANx->CMD = (1 << CAN_CMD_RRB_Pos); CANx->CMD = (1 << CAN_CMD_RRB_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_TXComplete() * : CAN_TXComplete()
* : * :
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : uint32_t 1 0 * : uint32_t 1 0
* : Abort也会触发发送完成 * : Abort也会触发发送完成
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t CAN_TXComplete(CAN_TypeDef *CANx) uint32_t CAN_TXComplete(CAN_TypeDef *CANx)
@ -265,11 +265,11 @@ uint32_t CAN_TXComplete(CAN_TypeDef *CANx)
return (CANx->SR & CAN_SR_TXBR_Msk) ? 1 : 0; return (CANx->SR & CAN_SR_TXBR_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_TXSuccess() * : CAN_TXSuccess()
* : * :
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t CAN_TXSuccess(CAN_TypeDef *CANx) uint32_t CAN_TXSuccess(CAN_TypeDef *CANx)
@ -277,10 +277,10 @@ uint32_t CAN_TXSuccess(CAN_TypeDef *CANx)
return (CANx->SR & CAN_SR_TXOK_Msk) ? 1 : 0; return (CANx->SR & CAN_SR_TXOK_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_AbortTransmit() * : CAN_AbortTransmit()
* : * :
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -289,11 +289,11 @@ void CAN_AbortTransmit(CAN_TypeDef *CANx)
CANx->CMD = (1 << CAN_CMD_ABTTX_Pos); CANx->CMD = (1 << CAN_CMD_ABTTX_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_TXBufferReady() * : CAN_TXBufferReady()
* : TX Buffer是否准备好可以写入消息 * : TX Buffer是否准备好可以写入消息
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t CAN_TXBufferReady(CAN_TypeDef *CANx) uint32_t CAN_TXBufferReady(CAN_TypeDef *CANx)
@ -301,11 +301,11 @@ uint32_t CAN_TXBufferReady(CAN_TypeDef *CANx)
return (CANx->SR & CAN_SR_TXBR_Msk) ? 1 : 0; return (CANx->SR & CAN_SR_TXBR_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_RXDataAvailable() * : CAN_RXDataAvailable()
* : RX FIFO中是否有数据可读出 * : RX FIFO中是否有数据可读出
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t CAN_RXDataAvailable(CAN_TypeDef *CANx) uint32_t CAN_RXDataAvailable(CAN_TypeDef *CANx)
@ -313,14 +313,14 @@ uint32_t CAN_RXDataAvailable(CAN_TypeDef *CANx)
return (CANx->SR & CAN_SR_RXDA_Msk) ? 1 : 0; return (CANx->SR & CAN_SR_RXDA_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_SetBaudrate() * : CAN_SetBaudrate()
* : * :
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* uint32_t baudrate * uint32_t baudrate
* uint32_t CAN_BS1 CAN_BS1_1tqCAN_BS1_2tq... ... CAN_BS1_16tq * uint32_t CAN_BS1 CAN_BS1_1tqCAN_BS1_2tq... ... CAN_BS1_16tq
* uint32_t CAN_BS2 CAN_BS2_1tqCAN_BS2_2tq... ... CAN_BS2_8tq * uint32_t CAN_BS2 CAN_BS2_1tqCAN_BS2_2tq... ... CAN_BS2_8tq
* uint32_t CAN_SJW CAN_SJW_1tqCAN_SJW_2tqCAN_SJW_3tqCAN_SJW_4tq * uint32_t CAN_SJW CAN_SJW_1tqCAN_SJW_2tqCAN_SJW_3tqCAN_SJW_4tq
* : * :
* : CAN_Close()CAN模块 * : CAN_Close()CAN模块
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -334,12 +334,12 @@ void CAN_SetBaudrate(CAN_TypeDef *CANx, uint32_t baudrate, uint32_t CAN_BS1, uin
((SystemCoreClock / 2 / baudrate / (1 + (CAN_BS1 + 1) + (CAN_BS2 + 1)) - 1) << CAN_BT0_BRP_Pos); ((SystemCoreClock / 2 / baudrate / (1 + (CAN_BS1 + 1) + (CAN_BS2 + 1)) - 1) << CAN_BT0_BRP_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_SetFilter32b() * : CAN_SetFilter32b()
* : 132 * : 132
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* uint32_t check mask一起决定了接收到的Message是否是自己需要的check & (~mask) == ID & (~mask)Message通过过滤 * uint32_t check mask一起决定了接收到的Message是否是自己需要的check & (~mask) == ID & (~mask)Message通过过滤
* uint32_t mask * uint32_t mask
* : * :
* : CAN_Close()CAN模块 * : CAN_Close()CAN模块
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -359,14 +359,14 @@ void CAN_SetFilter32b(CAN_TypeDef *CANx, uint32_t check, uint32_t mask)
CANx->FILTER.ACR[0] = (check >> 24) & 0xFF; CANx->FILTER.ACR[0] = (check >> 24) & 0xFF;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_SetFilter16b() * : CAN_SetFilter16b()
* : 216 * : 216
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* uint16_t check1 mask一起决定了接收到的Message是否是自己需要的check & (~mask) == ID & (~mask)Message通过过滤 * uint16_t check1 mask一起决定了接收到的Message是否是自己需要的check & (~mask) == ID & (~mask)Message通过过滤
* uint16_t mask1 * uint16_t mask1
* uint16_t check2 * uint16_t check2
* uint16_t mask2 * uint16_t mask2
* : * :
* : CAN_Close()CAN模块 * : CAN_Close()CAN模块
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -386,10 +386,10 @@ void CAN_SetFilter16b(CAN_TypeDef *CANx, uint16_t check1, uint16_t mask1, uint16
CANx->FILTER.ACR[0] = (check2 >> 8) & 0xFF; CANx->FILTER.ACR[0] = (check2 >> 8) & 0xFF;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTRXNotEmptyEn() * : CAN_INTRXNotEmptyEn()
* : RX FIFO中有数据时使 * : RX FIFO中有数据时使
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -398,10 +398,10 @@ void CAN_INTRXNotEmptyEn(CAN_TypeDef *CANx)
CANx->IE |= (1 << CAN_IE_RXDA_Pos); CANx->IE |= (1 << CAN_IE_RXDA_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTRXNotEmptyDis() * : CAN_INTRXNotEmptyDis()
* : RX FIFO中有数据时 * : RX FIFO中有数据时
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -410,10 +410,10 @@ void CAN_INTRXNotEmptyDis(CAN_TypeDef *CANx)
CANx->IE &= ~(1 << CAN_IE_RXDA_Pos); CANx->IE &= ~(1 << CAN_IE_RXDA_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTTXBufEmptyEn() * : CAN_INTTXBufEmptyEn()
* : TX Buffer空时触发中断使能 * : TX Buffer空时触发中断使能
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -422,10 +422,10 @@ void CAN_INTTXBufEmptyEn(CAN_TypeDef *CANx)
CANx->IE |= (1 << CAN_IE_TXBR_Pos); CANx->IE |= (1 << CAN_IE_TXBR_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTTXBufEmptyDis() * : CAN_INTTXBufEmptyDis()
* : TX Buffer空时触发中断禁止 * : TX Buffer空时触发中断禁止
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -434,10 +434,10 @@ void CAN_INTTXBufEmptyDis(CAN_TypeDef *CANx)
CANx->IE &= ~(1 << CAN_IE_TXBR_Pos); CANx->IE &= ~(1 << CAN_IE_TXBR_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTErrWarningEn() * : CAN_INTErrWarningEn()
* : TXERR/RXERR计数值达到Error Warning Limit时触发中断使能 * : TXERR/RXERR计数值达到Error Warning Limit时触发中断使能
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -446,10 +446,10 @@ void CAN_INTErrWarningEn(CAN_TypeDef *CANx)
CANx->IE |= (1 << CAN_IE_ERRWARN_Pos); CANx->IE |= (1 << CAN_IE_ERRWARN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTErrWarningDis() * : CAN_INTErrWarningDis()
* : TXERR/RXERR计数值达到Error Warning Limit时触发中断禁止 * : TXERR/RXERR计数值达到Error Warning Limit时触发中断禁止
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -458,10 +458,10 @@ void CAN_INTErrWarningDis(CAN_TypeDef *CANx)
CANx->IE &= ~(1 << CAN_IE_ERRWARN_Pos); CANx->IE &= ~(1 << CAN_IE_ERRWARN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTRXOverflowEn() * : CAN_INTRXOverflowEn()
* : RX FIFO 使 * : RX FIFO 使
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -470,10 +470,10 @@ void CAN_INTRXOverflowEn(CAN_TypeDef *CANx)
CANx->IE |= (1 << CAN_IE_RXOV_Pos); CANx->IE |= (1 << CAN_IE_RXOV_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTRXOverflowDis() * : CAN_INTRXOverflowDis()
* : RX FIFO * : RX FIFO
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -482,10 +482,10 @@ void CAN_INTRXOverflowDis(CAN_TypeDef *CANx)
CANx->IE &= ~(1 << CAN_IE_RXOV_Pos); CANx->IE &= ~(1 << CAN_IE_RXOV_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTRXOverflowClear() * : CAN_INTRXOverflowClear()
* : RX FIFO * : RX FIFO
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -494,10 +494,10 @@ void CAN_INTRXOverflowClear(CAN_TypeDef *CANx)
CANx->CMD = (1 << CAN_CMD_CLROV_Pos); CANx->CMD = (1 << CAN_CMD_CLROV_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTWakeupEn() * : CAN_INTWakeupEn()
* : 使 * : 使
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -506,10 +506,10 @@ void CAN_INTWakeupEn(CAN_TypeDef *CANx)
CANx->IE |= (1 << CAN_IE_WKUP_Pos); CANx->IE |= (1 << CAN_IE_WKUP_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTWakeupDis() * : CAN_INTWakeupDis()
* : * :
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -518,10 +518,10 @@ void CAN_INTWakeupDis(CAN_TypeDef *CANx)
CANx->IE &= ~(1 << CAN_IE_WKUP_Pos); CANx->IE &= ~(1 << CAN_IE_WKUP_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTErrPassiveEn() * : CAN_INTErrPassiveEn()
* : TXERR/RXERR计数值达到127时中断使能 * : TXERR/RXERR计数值达到127时中断使能
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -530,10 +530,10 @@ void CAN_INTErrPassiveEn(CAN_TypeDef *CANx)
CANx->IE |= (1 << CAN_IE_ERRPASS_Pos); CANx->IE |= (1 << CAN_IE_ERRPASS_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTErrPassiveDis() * : CAN_INTErrPassiveDis()
* : TXERR/RXERR计数值达到127时中断禁止 * : TXERR/RXERR计数值达到127时中断禁止
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -542,10 +542,10 @@ void CAN_INTErrPassiveDis(CAN_TypeDef *CANx)
CANx->IE &= ~(1 << CAN_IE_ERRPASS_Pos); CANx->IE &= ~(1 << CAN_IE_ERRPASS_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTArbitrLostEn() * : CAN_INTArbitrLostEn()
* : 使 * : 使
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -554,10 +554,10 @@ void CAN_INTArbitrLostEn(CAN_TypeDef *CANx)
CANx->IE |= (1 << CAN_IE_ARBLOST_Pos); CANx->IE |= (1 << CAN_IE_ARBLOST_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTArbitrLostDis() * : CAN_INTArbitrLostDis()
* : * :
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -566,10 +566,10 @@ void CAN_INTArbitrLostDis(CAN_TypeDef *CANx)
CANx->IE &= ~(1 << CAN_IE_ARBLOST_Pos); CANx->IE &= ~(1 << CAN_IE_ARBLOST_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTBusErrorEn() * : CAN_INTBusErrorEn()
* : 线使 * : 线使
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -578,10 +578,10 @@ void CAN_INTBusErrorEn(CAN_TypeDef *CANx)
CANx->IE |= (1 << CAN_IE_BUSERR_Pos); CANx->IE |= (1 << CAN_IE_BUSERR_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTBusErrorDis() * : CAN_INTBusErrorDis()
* : 线 * : 线
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -590,11 +590,11 @@ void CAN_INTBusErrorDis(CAN_TypeDef *CANx)
CANx->IE &= ~(1 << CAN_IE_BUSERR_Pos); CANx->IE &= ~(1 << CAN_IE_BUSERR_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CAN_INTStat() * : CAN_INTStat()
* : * :
* : CAN_TypeDef * CANx CAN接口CAN * : CAN_TypeDef * CANx CAN接口CAN
* : uint32_t * : uint32_t
* : CANx->IF读取清零ISR中只能读取一次 * : CANx->IF读取清零ISR中只能读取一次
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t CAN_INTStat(CAN_TypeDef *CANx) uint32_t CAN_INTStat(CAN_TypeDef *CANx)

View File

@ -1,18 +1,18 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_crc.c * : SWM320_crc.c
* : SWM320单片机的CRC模块驱动库 * : SWM320单片机的CRC模块驱动库
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
@ -21,14 +21,14 @@
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_crc.h" #include "SWM320_crc.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CRC_Init() * : CRC_Init()
* : CRC * : CRC
* : CRC_TypeDef * CRCx CRC接口CRC * : CRC_TypeDef * CRCx CRC接口CRC
* uint32_t mode CRC32_IN32CRC32_IN16CRC32_IN8CRC16_IN16CRC16_IN8 * uint32_t mode CRC32_IN32CRC32_IN16CRC32_IN8CRC16_IN16CRC16_IN8
* uint32_t out_not * uint32_t out_not
* uint32_t out_rev * uint32_t out_rev
* uint32_t ini_val CRC初始值 * uint32_t ini_val CRC初始值
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/

View File

@ -9,10 +9,10 @@
void CRC_Init(CRC_TypeDef *CRCx, uint32_t mode, uint32_t out_not, uint32_t out_rev, uint32_t ini_val); void CRC_Init(CRC_TypeDef *CRCx, uint32_t mode, uint32_t out_not, uint32_t out_rev, uint32_t ini_val);
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CRC_Write() * : CRC_Write()
* : CRC写入数据 * : CRC写入数据
* : uint32_t data * : uint32_t data
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -21,11 +21,11 @@ static __INLINE void CRC_Write(uint32_t data)
CRC->DATAIN = data; CRC->DATAIN = data;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : CRC_Result() * : CRC_Result()
* : CRC计算结果 * : CRC计算结果
* : * :
* : uint32_t CRC * : uint32_t CRC
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
static __INLINE uint32_t CRC_Result(void) static __INLINE uint32_t CRC_Result(void)

View File

@ -1,18 +1,18 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_dma.c * : SWM320_dma.c
* : SWM320单片机的DMA功能驱动库 * : SWM320单片机的DMA功能驱动库
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
@ -21,16 +21,16 @@
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_dma.h" #include "SWM320_dma.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : DMA_CHM_Config() * : DMA_CHM_Config()
* : DMA通道配置Flash和RAM间 * : DMA通道配置Flash和RAM间
* : uint32_t chn DMA_CH0DMA_CH1DMA_CH2 * : uint32_t chn DMA_CH0DMA_CH1DMA_CH2
* uint32_t src_addr 200 * uint32_t src_addr 200
* uint32_t src_addr_incr 0 1 * uint32_t src_addr_incr 0 1
* uint32_t dst_addr 200 * uint32_t dst_addr 200
* uint32_t dst_addr_incr 0 1 * uint32_t dst_addr_incr 0 1
* uint32_t num_word 1024 * uint32_t num_word 1024
* uint32_t int_en 使1 0 * uint32_t int_en 使1 0
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -67,10 +67,10 @@ void DMA_CHM_Config(uint32_t chn, uint32_t src_addr, uint32_t src_addr_incr, uin
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : DMA_CH_Open() * : DMA_CH_Open()
* : DMA通道打开 * : DMA通道打开
* : uint32_t chn DMA_CH0DMA_CH1DMA_CH2 * : uint32_t chn DMA_CH0DMA_CH1DMA_CH2
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -79,10 +79,10 @@ void DMA_CH_Open(uint32_t chn)
DMA->CH[chn].CR |= (1 << DMA_CR_TXEN_Pos); DMA->CH[chn].CR |= (1 << DMA_CR_TXEN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : DMA_CH_Close() * : DMA_CH_Close()
* : DMA通道关闭 * : DMA通道关闭
* : uint32_t chn DMA_CH0DMA_CH1DMA_CH2 * : uint32_t chn DMA_CH0DMA_CH1DMA_CH2
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -91,10 +91,10 @@ void DMA_CH_Close(uint32_t chn)
DMA->CH[chn].CR &= ~(1 << DMA_CR_TXEN_Pos); DMA->CH[chn].CR &= ~(1 << DMA_CR_TXEN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : DMA_CH_INTEn() * : DMA_CH_INTEn()
* : DMA中断使能 * : DMA中断使能
* : uint32_t chn DMA_CH0DMA_CH1DMA_CH2 * : uint32_t chn DMA_CH0DMA_CH1DMA_CH2
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -103,10 +103,10 @@ void DMA_CH_INTEn(uint32_t chn)
DMA->IM &= ~(1 << chn); DMA->IM &= ~(1 << chn);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : DMA_CH_INTDis() * : DMA_CH_INTDis()
* : DMA中断禁止 * : DMA中断禁止
* : uint32_t chn DMA_CH0DMA_CH1DMA_CH2 * : uint32_t chn DMA_CH0DMA_CH1DMA_CH2
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -115,10 +115,10 @@ void DMA_CH_INTDis(uint32_t chn)
DMA->IM |= (1 << chn); DMA->IM |= (1 << chn);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : DMA_CH_INTClr() * : DMA_CH_INTClr()
* : DMA中断标志清除 * : DMA中断标志清除
* : uint32_t chn DMA_CH0DMA_CH1DMA_CH2 * : uint32_t chn DMA_CH0DMA_CH1DMA_CH2
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -127,11 +127,11 @@ void DMA_CH_INTClr(uint32_t chn)
DMA->IF = (1 << chn); DMA->IF = (1 << chn);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : DMA_CH_INTStat() * : DMA_CH_INTStat()
* : DMA中断状态查询 * : DMA中断状态查询
* : uint32_t chn DMA_CH0DMA_CH1DMA_CH2 * : uint32_t chn DMA_CH0DMA_CH1DMA_CH2
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t DMA_CH_INTStat(uint32_t chn) uint32_t DMA_CH_INTStat(uint32_t chn)

View File

@ -1,34 +1,34 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_exti.c * : SWM320_exti.c
* : SWM320单片机的外部中断功能驱动库 * : SWM320单片机的外部中断功能驱动库
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
* COPYRIGHT 2012 Synwit Technology * COPYRIGHT 2012 Synwit Technology
*******************************************************************************************************************************************/ *******************************************************************************************************************************************/
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_exti.h" #include "SWM320_exti.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : EXTI_Init() * : EXTI_Init()
* : * :
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* uint32_t mode EXTI_FALL_EDGEEXTI_RISE_EDGEEXTI_BOTH_EDGEEXTI_LOW_LEVELEXTI_HIGH_LEVEL * uint32_t mode EXTI_FALL_EDGEEXTI_RISE_EDGEEXTI_BOTH_EDGEEXTI_LOW_LEVELEXTI_HIGH_LEVEL
* : * :
* : GPIOAGPIOBGPIOCGPIOM的PIN0--7NVIC中的引脚中断GPIOA0_IRQnNVIC的组中断GPIOA_IRQn * : GPIOAGPIOBGPIOCGPIOM的PIN0--7NVIC中的引脚中断GPIOA0_IRQnNVIC的组中断GPIOA_IRQn
* NVIC_EnableIRQ()使NVIC中断NVIC_EnableIRQ(GPIOA0_IRQn)NVIC_EnableIRQ(GPIOA_IRQn) * NVIC_EnableIRQ()使NVIC中断NVIC_EnableIRQ(GPIOA0_IRQn)NVIC_EnableIRQ(GPIOA_IRQn)
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
void EXTI_Init(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t mode) void EXTI_Init(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t mode)
{ {
@ -65,11 +65,11 @@ void EXTI_Init(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t mode)
GPIOx->INTCLR = (1 << n); //清除掉因为模式配置可能产生的中断 GPIOx->INTCLR = (1 << n); //清除掉因为模式配置可能产生的中断
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : EXTI_Open() * : EXTI_Open()
* : 使 * : 使
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -78,11 +78,11 @@ void EXTI_Open(GPIO_TypeDef *GPIOx, uint32_t n)
GPIOx->INTEN |= (0x01 << n); GPIOx->INTEN |= (0x01 << n);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : EXTI_Close() * : EXTI_Close()
* : * :
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -91,12 +91,12 @@ void EXTI_Close(GPIO_TypeDef *GPIOx, uint32_t n)
GPIOx->INTEN &= ~(0x01 << n); GPIOx->INTEN &= ~(0x01 << n);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : EXTI_State() * : EXTI_State()
* : * :
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t EXTI_State(GPIO_TypeDef *GPIOx, uint32_t n) uint32_t EXTI_State(GPIO_TypeDef *GPIOx, uint32_t n)
@ -104,12 +104,12 @@ uint32_t EXTI_State(GPIO_TypeDef *GPIOx, uint32_t n)
return (GPIOx->INTSTAT >> n) & 0x01; return (GPIOx->INTSTAT >> n) & 0x01;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : EXTI_RawState() * : EXTI_RawState()
* : // * : //
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* : uint32_t 1 / 0 / * : uint32_t 1 / 0 /
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t EXTI_RawState(GPIO_TypeDef *GPIOx, uint32_t n) uint32_t EXTI_RawState(GPIO_TypeDef *GPIOx, uint32_t n)
@ -117,11 +117,11 @@ uint32_t EXTI_RawState(GPIO_TypeDef *GPIOx, uint32_t n)
return (GPIOx->INTRAWSTAT >> n) & 0x01; return (GPIOx->INTRAWSTAT >> n) & 0x01;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : EXTI_Clear() * : EXTI_Clear()
* : * :
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* : * :
* : 沿 * : 沿
******************************************************************************************************************************************/ ******************************************************************************************************************************************/

View File

@ -1,20 +1,20 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_flash.c * : SWM320_flash.c
* : 使IAP功能将片上Flash模拟成EEPROM来保存数据 * : 使IAP功能将片上Flash模拟成EEPROM来保存数据
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
* COPYRIGHT 2012 Synwit Technology * COPYRIGHT 2012 Synwit Technology
*******************************************************************************************************************************************/ *******************************************************************************************************************************************/
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_flash.h" #include "SWM320_flash.h"
@ -24,10 +24,10 @@ IAP_Flash_Param_t IAP_Flash_Param = (IAP_Flash_Param_t)0x11000681;
IAP_Flash_Erase_t IAP_Flash_Erase = (IAP_Flash_Erase_t)0x11000781; IAP_Flash_Erase_t IAP_Flash_Erase = (IAP_Flash_Erase_t)0x11000781;
IAP_Flash_Write_t IAP_Flash_Write = (IAP_Flash_Write_t)0x11000801; IAP_Flash_Write_t IAP_Flash_Write = (IAP_Flash_Write_t)0x11000801;
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : FLASH_Erase() * : FLASH_Erase()
* : Flash擦除 * : Flash擦除
* : uint32_t addr 4K Byte * : uint32_t addr 4K Byte
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -42,12 +42,12 @@ void FLASH_Erase(uint32_t addr)
__enable_irq(); __enable_irq();
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : FLASH_Write() * : FLASH_Write()
* : Flash写入 * : Flash写入
* : uint32_t addr * : uint32_t addr
* uint32_t buff[] * uint32_t buff[]
* uint32_t count 44 * uint32_t count 44
* : * :
* : 44 * : 44
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -62,10 +62,10 @@ void FLASH_Write(uint32_t addr, uint32_t buff[], uint32_t count)
__enable_irq(); __enable_irq();
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : Flash_Param_at_xMHz() * : Flash_Param_at_xMHz()
* : Flash参数设置成xMHz主频下运行时所需的参数 * : Flash参数设置成xMHz主频下运行时所需的参数
* : uint32_t x * : uint32_t x
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/

View File

@ -1,34 +1,34 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_gpio.c * : SWM320_gpio.c
* : SWM320单片机的通用输入输出功能驱动库 * : SWM320单片机的通用输入输出功能驱动库
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
* COPYRIGHT 2012 Synwit Technology * COPYRIGHT 2012 Synwit Technology
*******************************************************************************************************************************************/ *******************************************************************************************************************************************/
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_gpio.h" #include "SWM320_gpio.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_Init() * : GPIO_Init()
* : * :
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* uint32_t dir 0 1 * uint32_t dir 0 1
* uint32_t pull_up 0 1 * uint32_t pull_up 0 1
* uint32_t pull_down 0 1 * uint32_t pull_down 0 1
* : * :
* : GPIOAGPIOCGPIOMGPIOP只有上拉GPIOBGPION只有下拉PN0PN1PN2三个引脚有上拉没下拉 * : GPIOAGPIOCGPIOMGPIOP只有上拉GPIOBGPION只有下拉PN0PN1PN2三个引脚有上拉没下拉
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -152,11 +152,11 @@ void GPIO_Init(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t dir, uint32_t pull_up,
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_SetBit() * : GPIO_SetBit()
* : * :
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -165,11 +165,11 @@ void GPIO_SetBit(GPIO_TypeDef *GPIOx, uint32_t n)
GPIOx->DATA |= (0x01 << n); GPIOx->DATA |= (0x01 << n);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_ClrBit() * : GPIO_ClrBit()
* : * :
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -178,11 +178,11 @@ void GPIO_ClrBit(GPIO_TypeDef *GPIOx, uint32_t n)
GPIOx->DATA &= ~(0x01 << n); GPIOx->DATA &= ~(0x01 << n);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_InvBit() * : GPIO_InvBit()
* : * :
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -191,12 +191,12 @@ void GPIO_InvBit(GPIO_TypeDef *GPIOx, uint32_t n)
GPIOx->DATA ^= (0x01 << n); GPIOx->DATA ^= (0x01 << n);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_GetBit() * : GPIO_GetBit()
* : * :
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* : 0 1 * : 0 1
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t GPIO_GetBit(GPIO_TypeDef *GPIOx, uint32_t n) uint32_t GPIO_GetBit(GPIO_TypeDef *GPIOx, uint32_t n)
@ -204,12 +204,12 @@ uint32_t GPIO_GetBit(GPIO_TypeDef *GPIOx, uint32_t n)
return ((GPIOx->DATA >> n) & 0x01); return ((GPIOx->DATA >> n) & 0x01);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_SetBits() * : GPIO_SetBits()
* : n开始的w位连续引脚的电平置高 * : n开始的w位连续引脚的电平置高
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* uint32_t w * uint32_t w
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -222,12 +222,12 @@ void GPIO_SetBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w)
GPIOx->DATA |= (bits << n); GPIOx->DATA |= (bits << n);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_ClrBits() * : GPIO_ClrBits()
* : n开始的w位连续引脚的电平置低 * : n开始的w位连续引脚的电平置低
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* uint32_t w * uint32_t w
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -240,12 +240,12 @@ void GPIO_ClrBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w)
GPIOx->DATA &= ~(bits << n); GPIOx->DATA &= ~(bits << n);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_InvBits() * : GPIO_InvBits()
* : n开始的w位连续引脚的电平反转 * : n开始的w位连续引脚的电平反转
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* uint32_t w * uint32_t w
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -258,14 +258,14 @@ void GPIO_InvBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w)
GPIOx->DATA ^= (bits << n); GPIOx->DATA ^= (bits << n);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_GetBits() * : GPIO_GetBits()
* : n开始的w位连续引脚的电平状态 * : n开始的w位连续引脚的电平状态
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOMGPIONGPIOP
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN22PIN23
* uint32_t w * uint32_t w
* : n开始的w位连续引脚的电平状态 0 1 * : n开始的w位连续引脚的电平状态 0 1
* 0n的电平状态1n+1... ...w位表示引脚n+w的电平状态 * 0n的电平状态1n+1... ...w位表示引脚n+w的电平状态
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t GPIO_GetBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w) uint32_t GPIO_GetBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w)
@ -277,11 +277,11 @@ uint32_t GPIO_GetBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w)
return ((GPIOx->DATA >> n) & bits); return ((GPIOx->DATA >> n) & bits);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_AtomicSetBit() * : GPIO_AtomicSetBit()
* : --ISR打断 * : --ISR打断
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOD * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOD
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN14PIN15 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN14PIN15
* : * :
* : GPIOx的16个引脚中ISR中操作时GPIOx的引脚必须都用GPIO_Atomic类型函数操作 * : GPIOx的16个引脚中ISR中操作时GPIOx的引脚必须都用GPIO_Atomic类型函数操作
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -290,11 +290,11 @@ void GPIO_AtomicSetBit(GPIO_TypeDef *GPIOx, uint32_t n)
*((volatile uint32_t *)(0x42000000 + ((uint32_t)&GPIOx->DATA - 0x40000000) * 32 + n * 4)) = 1; *((volatile uint32_t *)(0x42000000 + ((uint32_t)&GPIOx->DATA - 0x40000000) * 32 + n * 4)) = 1;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_AtomicClrBit() * : GPIO_AtomicClrBit()
* : --ISR打断 * : --ISR打断
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOD * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOD
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN14PIN15 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN14PIN15
* : * :
* : GPIOx的16个引脚中ISR中操作时GPIOx的引脚必须都用GPIO_Atomic类型函数操作 * : GPIOx的16个引脚中ISR中操作时GPIOx的引脚必须都用GPIO_Atomic类型函数操作
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -303,11 +303,11 @@ void GPIO_AtomicClrBit(GPIO_TypeDef *GPIOx, uint32_t n)
*((volatile uint32_t *)(0x42000000 + ((uint32_t)&GPIOx->DATA - 0x40000000) * 32 + n * 4)) = 0; *((volatile uint32_t *)(0x42000000 + ((uint32_t)&GPIOx->DATA - 0x40000000) * 32 + n * 4)) = 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_AtomicInvBit() * : GPIO_AtomicInvBit()
* : --ISR打断 * : --ISR打断
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOD * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOD
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN14PIN15 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN14PIN15
* : * :
* : GPIOx的16个引脚中ISR中操作时GPIOx的引脚必须都用GPIO_Atomic类型函数操作 * : GPIOx的16个引脚中ISR中操作时GPIOx的引脚必须都用GPIO_Atomic类型函数操作
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -316,12 +316,12 @@ void GPIO_AtomicInvBit(GPIO_TypeDef *GPIOx, uint32_t n)
*((volatile uint32_t *)(0x42000000 + ((uint32_t)&GPIOx->DATA - 0x40000000) * 32 + n * 4)) = 1 - *((volatile uint32_t *)(0x42000000 + ((uint32_t)&GPIOx->DATA - 0x40000000) * 32 + n * 4)); *((volatile uint32_t *)(0x42000000 + ((uint32_t)&GPIOx->DATA - 0x40000000) * 32 + n * 4)) = 1 - *((volatile uint32_t *)(0x42000000 + ((uint32_t)&GPIOx->DATA - 0x40000000) * 32 + n * 4));
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_AtomicSetBits() * : GPIO_AtomicSetBits()
* : n开始的w位连续引脚的电平置高--ISR打断 * : n开始的w位连续引脚的电平置高--ISR打断
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOD * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOD
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN14PIN15 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN14PIN15
* uint32_t w * uint32_t w
* : * :
* : GPIOx的16个引脚中ISR中操作时GPIOx的引脚必须都用GPIO_Atomic类型函数操作 * : GPIOx的16个引脚中ISR中操作时GPIOx的引脚必须都用GPIO_Atomic类型函数操作
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -336,12 +336,12 @@ void GPIO_AtomicSetBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w)
__enable_irq(); __enable_irq();
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_AtomicClrBits() * : GPIO_AtomicClrBits()
* : n开始的w位连续引脚的电平置低--ISR打断 * : n开始的w位连续引脚的电平置低--ISR打断
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOD * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOD
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN14PIN15 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN14PIN15
* uint32_t w * uint32_t w
* : * :
* : GPIOx的16个引脚中ISR中操作时GPIOx的引脚必须都用GPIO_Atomic类型函数操作 * : GPIOx的16个引脚中ISR中操作时GPIOx的引脚必须都用GPIO_Atomic类型函数操作
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -356,12 +356,12 @@ void GPIO_AtomicClrBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w)
__enable_irq(); __enable_irq();
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : GPIO_AtomicInvBits() * : GPIO_AtomicInvBits()
* : n开始的w位连续引脚的电平反转--ISR打断 * : n开始的w位连续引脚的电平反转--ISR打断
* : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOD * : GPIO_TypeDef * GPIOx GPIO端口GPIOAGPIOBGPIOCGPIOD
* uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN14PIN15 * uint32_t n GPIO引脚PIN0PIN1PIN2... ... PIN14PIN15
* uint32_t w * uint32_t w
* : * :
* : GPIOx的16个引脚中ISR中操作时GPIOx的引脚必须都用GPIO_Atomic类型函数操作 * : GPIOx的16个引脚中ISR中操作时GPIOx的引脚必须都用GPIO_Atomic类型函数操作
******************************************************************************************************************************************/ ******************************************************************************************************************************************/

View File

@ -1,18 +1,18 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_i2c.c * : SWM320_i2c.c
* : SWM320单片机的I2C串行接口功能驱动库 * : SWM320单片机的I2C串行接口功能驱动库
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIES AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIES AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIEE. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIEE. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIES ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIES ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
@ -21,11 +21,11 @@
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_i2c.h" #include "SWM320_i2c.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : I2C_Init() * : I2C_Init()
* : I2C初始化 * : I2C初始化
* : I2C_TypeDef * I2Cx I2CI2C0I2C1 * : I2C_TypeDef * I2Cx I2CI2C0I2C1
* I2C_InitStructure * initStruct I2C相关设定值的结构体 * I2C_InitStructure * initStruct I2C相关设定值的结构体
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -125,10 +125,10 @@ void I2C_Init(I2C_TypeDef *I2Cx, I2C_InitStructure *initStruct)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : I2C_Open() * : I2C_Open()
* : I2C打开 * : I2C打开
* : I2C_TypeDef * I2Cx I2CI2C0I2C1 * : I2C_TypeDef * I2Cx I2CI2C0I2C1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -137,10 +137,10 @@ void I2C_Open(I2C_TypeDef *I2Cx)
I2Cx->CTRL |= (0x01 << I2C_CTRL_EN_Pos); I2Cx->CTRL |= (0x01 << I2C_CTRL_EN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : I2C_Close() * : I2C_Close()
* : I2C关闭 * : I2C关闭
* : I2C_TypeDef * I2Cx I2CI2C0I2C1 * : I2C_TypeDef * I2Cx I2CI2C0I2C1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -149,12 +149,12 @@ void I2C_Close(I2C_TypeDef *I2Cx)
I2Cx->CTRL &= ~I2C_CTRL_EN_Msk; I2Cx->CTRL &= ~I2C_CTRL_EN_Msk;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : I2C_Start() * : I2C_Start()
* : * :
* : I2C_TypeDef * I2Cx I2CI2C0I2C1 * : I2C_TypeDef * I2Cx I2CI2C0I2C1
* uint8_t addr * uint8_t addr
* : uint8_t 1 ACK 0 NACK * : uint8_t 1 ACK 0 NACK
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint8_t I2C_Start(I2C_TypeDef *I2Cx, uint8_t addr) uint8_t I2C_Start(I2C_TypeDef *I2Cx, uint8_t addr)
@ -168,10 +168,10 @@ uint8_t I2C_Start(I2C_TypeDef *I2Cx, uint8_t addr)
return (I2Cx->MSTCMD & I2C_MSTCMD_RXACK_Msk) ? 0 : 1; return (I2Cx->MSTCMD & I2C_MSTCMD_RXACK_Msk) ? 0 : 1;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : I2C_Stop() * : I2C_Stop()
* : * :
* : I2C_TypeDef * I2Cx I2CI2C0I2C1 * : I2C_TypeDef * I2Cx I2CI2C0I2C1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -182,12 +182,12 @@ void I2C_Stop(I2C_TypeDef *I2Cx)
__NOP(); //等待发送完成 __NOP(); //等待发送完成
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : I2C_Write() * : I2C_Write()
* : * :
* : I2C_TypeDef * I2Cx I2CI2C0I2C1 * : I2C_TypeDef * I2Cx I2CI2C0I2C1
* uint8_t data * uint8_t data
* : uint8_t 1 ACK 0 NACK * : uint8_t 1 ACK 0 NACK
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint8_t I2C_Write(I2C_TypeDef *I2Cx, uint8_t data) uint8_t I2C_Write(I2C_TypeDef *I2Cx, uint8_t data)
@ -200,12 +200,12 @@ uint8_t I2C_Write(I2C_TypeDef *I2Cx, uint8_t data)
return (I2Cx->MSTCMD & I2C_MSTCMD_RXACK_Msk) ? 0 : 1; return (I2Cx->MSTCMD & I2C_MSTCMD_RXACK_Msk) ? 0 : 1;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : I2C_Read() * : I2C_Read()
* : * :
* : I2C_TypeDef * I2Cx I2CI2C0I2C1 * : I2C_TypeDef * I2Cx I2CI2C0I2C1
* uint8_t ack 1 ACK 0 NACK * uint8_t ack 1 ACK 0 NACK
* : uint8_t * : uint8_t
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint8_t I2C_Read(I2C_TypeDef *I2Cx, uint8_t ack) uint8_t I2C_Read(I2C_TypeDef *I2Cx, uint8_t ack)

View File

@ -1,18 +1,18 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_lcd.c * : SWM320_lcd.c
* : SWM320单片机的LCD功能驱动库 * : SWM320单片机的LCD功能驱动库
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
@ -23,11 +23,11 @@
#include <string.h> #include <string.h>
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : LCD_Init() * : LCD_Init()
* : LCD初始化 * : LCD初始化
* : LCD_TypeDef * LCDx LCDLCD * : LCD_TypeDef * LCDx LCDLCD
* LCD_InitStructure * initStruct LCD相关设定值的结构体 * LCD_InitStructure * initStruct LCD相关设定值的结构体
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -74,10 +74,10 @@ void LCD_Init(LCD_TypeDef *LCDx, LCD_InitStructure *initStruct)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : LCD_Start() * : LCD_Start()
* : * :
* : LCD_TypeDef * LCDx LCDLCD * : LCD_TypeDef * LCDx LCDLCD
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -86,11 +86,11 @@ void LCD_Start(LCD_TypeDef *LCDx)
LCDx->START |= (1 << LCD_START_GO_Pos) | (1 << LCD_START_BURST_Pos); LCDx->START |= (1 << LCD_START_GO_Pos) | (1 << LCD_START_BURST_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : LCD_IsBusy() * : LCD_IsBusy()
* : * :
* : LCD_TypeDef * LCDx LCDLCD * : LCD_TypeDef * LCDx LCDLCD
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t LCD_IsBusy(LCD_TypeDef *LCDx) uint32_t LCD_IsBusy(LCD_TypeDef *LCDx)
@ -98,10 +98,10 @@ uint32_t LCD_IsBusy(LCD_TypeDef *LCDx)
return (LCDx->START & LCD_START_GO_Msk) ? 1 : 0; return (LCDx->START & LCD_START_GO_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : LCD_INTEn() * : LCD_INTEn()
* : LCD中断使能 * : LCD中断使能
* : LCD_TypeDef * LCDx LCDLCD * : LCD_TypeDef * LCDx LCDLCD
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -110,10 +110,10 @@ void LCD_INTEn(LCD_TypeDef *LCDx)
LCDx->IM = 0; LCDx->IM = 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : LCD_INTDis() * : LCD_INTDis()
* : LCD中断禁止 * : LCD中断禁止
* : LCD_TypeDef * LCDx LCDLCD * : LCD_TypeDef * LCDx LCDLCD
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -122,10 +122,10 @@ void LCD_INTDis(LCD_TypeDef *LCDx)
LCDx->IM = 1; LCDx->IM = 1;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : LCD_INTClr() * : LCD_INTClr()
* : LCD中断标志清除 * : LCD中断标志清除
* : LCD_TypeDef * LCDx LCDLCD * : LCD_TypeDef * LCDx LCDLCD
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -134,11 +134,11 @@ void LCD_INTClr(LCD_TypeDef *LCDx)
LCDx->IF = 1; LCDx->IF = 1;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : LCD_INTStat() * : LCD_INTStat()
* : LCD中断状态查询 * : LCD中断状态查询
* : LCD_TypeDef * LCDx LCDLCD * : LCD_TypeDef * LCDx LCDLCD
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t LCD_INTStat(LCD_TypeDef *LCDx) uint32_t LCD_INTStat(LCD_TypeDef *LCDx)

View File

@ -1,29 +1,29 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_norflash.c * : SWM320_norflash.c
* : SWM320单片机的NOR Flash驱动程序 * : SWM320单片机的NOR Flash驱动程序
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
* COPYRIGHT 2012 Synwit Technology * COPYRIGHT 2012 Synwit Technology
*******************************************************************************************************************************************/ *******************************************************************************************************************************************/
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_norflash.h" #include "SWM320_norflash.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : NORFL_Init() * : NORFL_Init()
* : NOR Flash控制器初始化 * : NOR Flash控制器初始化
* : NORFL_InitStructure * initStruct NOR Flash控制器相关设定值的结构体 * : NORFL_InitStructure * initStruct NOR Flash控制器相关设定值的结构体
* : * :
* : * :
@ -64,11 +64,11 @@ void NORFL_Init(NORFL_InitStructure *initStruct)
NORFLC->IM |= (1 << NORFLC_IM_TIMEOUT_Pos); NORFLC->IM |= (1 << NORFLC_IM_TIMEOUT_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : NORFL_ChipErase() * : NORFL_ChipErase()
* : NOR Flash整片擦除 * : NOR Flash整片擦除
* : * :
* : uint32_t 0 1 * : uint32_t 0 1
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t NORFL_ChipErase(void) uint32_t NORFL_ChipErase(void)
@ -91,11 +91,11 @@ uint32_t NORFL_ChipErase(void)
return res; return res;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : NORFL_SectorErase() * : NORFL_SectorErase()
* : NOR Flash扇区擦除 * : NOR Flash扇区擦除
* : uint32_t addr * : uint32_t addr
* : uint32_t 0 1 * : uint32_t 0 1
* : MX29LV128DB 88K25564K MX29LV128DT 25564K88K * : MX29LV128DB 88K25564K MX29LV128DT 25564K88K
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t NORFL_SectorErase(uint32_t addr) uint32_t NORFL_SectorErase(uint32_t addr)
@ -119,12 +119,12 @@ uint32_t NORFL_SectorErase(uint32_t addr)
return res; return res;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : NORFL_Write() * : NORFL_Write()
* : NOR Flash写 * : NOR Flash写
* : uint32_t addr * : uint32_t addr
* uint32_t data * uint32_t data
* : uint32_t 0 1 * : uint32_t 0 1
* : 线16线8 * : 线16线8
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t NORFL_Write(uint32_t addr, uint32_t data) uint32_t NORFL_Write(uint32_t addr, uint32_t data)
@ -148,11 +148,11 @@ uint32_t NORFL_Write(uint32_t addr, uint32_t data)
return res; return res;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : NORFL_Read() * : NORFL_Read()
* : NOR Flash读 * : NOR Flash读
* : uint32_t addr * : uint32_t addr
* : uint32_t * : uint32_t
* : 线16线8 * : 线16线8
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t NORFL_Read(uint32_t addr) uint32_t NORFL_Read(uint32_t addr)
@ -163,11 +163,11 @@ uint32_t NORFL_Read(uint32_t addr)
return (NORFLC->CMD & NORFLC_CMD_DATA_Msk); return (NORFLC->CMD & NORFLC_CMD_DATA_Msk);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : NORFL_ReadID() * : NORFL_ReadID()
* : NOR Flash读ID * : NOR Flash读ID
* : uint32_t id_addr ID地址 * : uint32_t id_addr ID地址
* : uint16_t ID * : uint16_t ID
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint16_t NORFL_ReadID(uint32_t id_addr) uint16_t NORFL_ReadID(uint32_t id_addr)

View File

@ -1,36 +1,36 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_port.c * : SWM320_port.c
* : SWM320单片机的端口引脚功能选择库函数 * : SWM320单片机的端口引脚功能选择库函数
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
* COPYRIGHT 2012 Synwit Technology * COPYRIGHT 2012 Synwit Technology
*******************************************************************************************************************************************/ *******************************************************************************************************************************************/
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_port.h" #include "SWM320_port.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PORT_Init() * : PORT_Init()
* : "SWM320_port.h" * : "SWM320_port.h"
* : uint32_t PORTx PORT端口PORTAPORTBPORTCPORTMPORTNPORTP * : uint32_t PORTx PORT端口PORTAPORTBPORTCPORTMPORTNPORTP
* uint32_t n PORT引脚PIN0PIN1PIN2... ... PIN22PIN23 * uint32_t n PORT引脚PIN0PIN1PIN2... ... PIN22PIN23
* uint32_t func "SWM320_port.h" * uint32_t func "SWM320_port.h"
* uint32_t digit_in_en 使 * uint32_t digit_in_en 使
* : * :
* : n为偶数时func取值只能是FUNMUX0开头的FUNMUX0_UART0_RXD * : n为偶数时func取值只能是FUNMUX0开头的FUNMUX0_UART0_RXD
* n为奇数时func取值只能是FUNMUX1开头的FUNMUX1_UART0_TXD * n为奇数时func取值只能是FUNMUX1开头的FUNMUX1_UART0_TXD
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
void PORT_Init(uint32_t PORTx, uint32_t n, uint32_t func, uint32_t digit_in_en) void PORT_Init(uint32_t PORTx, uint32_t n, uint32_t func, uint32_t digit_in_en)
{ {

View File

@ -1,31 +1,31 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_pwm.c * : SWM320_pwm.c
* : SWM320单片机的PWM功能驱动库 * : SWM320单片机的PWM功能驱动库
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
* COPYRIGHT 2012 Synwit Technology * COPYRIGHT 2012 Synwit Technology
*******************************************************************************************************************************************/ *******************************************************************************************************************************************/
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_pwm.h" #include "SWM320_pwm.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_Init() * : PWM_Init()
* : PWM初始化 * : PWM初始化
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* PWM_InitStructure * initStruct PWM相关设定值的结构体 * PWM_InitStructure * initStruct PWM相关设定值的结构体
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -98,12 +98,12 @@ void PWM_Init(PWM_TypeDef *PWMx, PWM_InitStructure *initStruct)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_Start() * : PWM_Start()
* : PWMPWM输出 * : PWMPWM输出
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chA 0 A不启动 1 A启动 * uint32_t chA 0 A不启动 1 A启动
* uint32_t chB 0 B不启动 1 B启动 * uint32_t chB 0 B不启动 1 B启动
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -137,12 +137,12 @@ void PWM_Start(PWM_TypeDef *PWMx, uint32_t chA, uint32_t chB)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_Stop() * : PWM_Stop()
* : PWMPWM输出 * : PWMPWM输出
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chA 0 A不关闭 1 A关闭 * uint32_t chA 0 A不关闭 1 A关闭
* uint32_t chB 0 B不关闭 1 B关闭 * uint32_t chB 0 B不关闭 1 B关闭
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -176,12 +176,12 @@ void PWM_Stop(PWM_TypeDef *PWMx, uint32_t chA, uint32_t chB)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_SetCycle() * : PWM_SetCycle()
* : * :
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chn PWM_CH_APWM_CH_B * uint32_t chn PWM_CH_APWM_CH_B
* uint16_t cycle * uint16_t cycle
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -193,12 +193,12 @@ void PWM_SetCycle(PWM_TypeDef *PWMx, uint32_t chn, uint16_t cycle)
PWMx->PERB = cycle; PWMx->PERB = cycle;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_GetCycle() * : PWM_GetCycle()
* : * :
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chn PWM_CH_APWM_CH_B * uint32_t chn PWM_CH_APWM_CH_B
* : uint16_t * : uint16_t
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint16_t PWM_GetCycle(PWM_TypeDef *PWMx, uint32_t chn) uint16_t PWM_GetCycle(PWM_TypeDef *PWMx, uint32_t chn)
@ -213,12 +213,12 @@ uint16_t PWM_GetCycle(PWM_TypeDef *PWMx, uint32_t chn)
return cycle; return cycle;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_SetHDuty() * : PWM_SetHDuty()
* : * :
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chn PWM_CH_APWM_CH_B * uint32_t chn PWM_CH_APWM_CH_B
* uint16_t hduty * uint16_t hduty
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -230,12 +230,12 @@ void PWM_SetHDuty(PWM_TypeDef *PWMx, uint32_t chn, uint16_t hduty)
PWMx->HIGHB = hduty; PWMx->HIGHB = hduty;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_GetHDuty() * : PWM_GetHDuty()
* : * :
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chn PWM_CH_APWM_CH_B * uint32_t chn PWM_CH_APWM_CH_B
* : uint16_t * : uint16_t
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint16_t PWM_GetHDuty(PWM_TypeDef *PWMx, uint32_t chn) uint16_t PWM_GetHDuty(PWM_TypeDef *PWMx, uint32_t chn)
@ -250,12 +250,12 @@ uint16_t PWM_GetHDuty(PWM_TypeDef *PWMx, uint32_t chn)
return hduty; return hduty;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_SetDeadzone() * : PWM_SetDeadzone()
* : * :
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chn PWM_CH_APWM_CH_B * uint32_t chn PWM_CH_APWM_CH_B
* uint8_t deadzone * uint8_t deadzone
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -267,12 +267,12 @@ void PWM_SetDeadzone(PWM_TypeDef *PWMx, uint32_t chn, uint8_t deadzone)
PWMx->DZB = deadzone; PWMx->DZB = deadzone;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_GetDeadzone() * : PWM_GetDeadzone()
* : * :
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chn PWM_CH_APWM_CH_B * uint32_t chn PWM_CH_APWM_CH_B
* : uint8_t * : uint8_t
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint8_t PWM_GetDeadzone(PWM_TypeDef *PWMx, uint32_t chn) uint8_t PWM_GetDeadzone(PWM_TypeDef *PWMx, uint32_t chn)
@ -287,11 +287,11 @@ uint8_t PWM_GetDeadzone(PWM_TypeDef *PWMx, uint32_t chn)
return deadzone; return deadzone;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_IntNCycleEn() * : PWM_IntNCycleEn()
* : 使 * : 使
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chn PWM_CH_APWM_CH_B * uint32_t chn PWM_CH_APWM_CH_B
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -343,11 +343,11 @@ void PWM_IntNCycleEn(PWM_TypeDef *PWMx, uint32_t chn)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_IntNCycleDis() * : PWM_IntNCycleDis()
* : * :
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chn PWM_CH_APWM_CH_B * uint32_t chn PWM_CH_APWM_CH_B
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -399,11 +399,11 @@ void PWM_IntNCycleDis(PWM_TypeDef *PWMx, uint32_t chn)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_IntNCycleClr() * : PWM_IntNCycleClr()
* : * :
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chn PWM_CH_APWM_CH_B * uint32_t chn PWM_CH_APWM_CH_B
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -455,12 +455,12 @@ void PWM_IntNCycleClr(PWM_TypeDef *PWMx, uint32_t chn)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_IntNCycleStat() * : PWM_IntNCycleStat()
* : * :
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chn PWM_CH_APWM_CH_B * uint32_t chn PWM_CH_APWM_CH_B
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t PWM_IntNCycleStat(PWM_TypeDef *PWMx, uint32_t chn) uint32_t PWM_IntNCycleStat(PWM_TypeDef *PWMx, uint32_t chn)
@ -515,11 +515,11 @@ uint32_t PWM_IntNCycleStat(PWM_TypeDef *PWMx, uint32_t chn)
return int_stat; return int_stat;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_IntHEndEn() * : PWM_IntHEndEn()
* : 使 * : 使
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chn PWM_CH_APWM_CH_B * uint32_t chn PWM_CH_APWM_CH_B
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -571,11 +571,11 @@ void PWM_IntHEndEn(PWM_TypeDef *PWMx, uint32_t chn)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_IntHEndDis() * : PWM_IntHEndDis()
* : * :
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chn PWM_CH_APWM_CH_B * uint32_t chn PWM_CH_APWM_CH_B
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -627,11 +627,11 @@ void PWM_IntHEndDis(PWM_TypeDef *PWMx, uint32_t chn)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_IntHEndClr() * : PWM_IntHEndClr()
* : * :
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chn PWM_CH_APWM_CH_B * uint32_t chn PWM_CH_APWM_CH_B
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -683,12 +683,12 @@ void PWM_IntHEndClr(PWM_TypeDef *PWMx, uint32_t chn)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : PWM_IntHEndStat() * : PWM_IntHEndStat()
* : * :
* : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5 * : PWM_TypeDef * PWMx PWMPWM0PWM1PWM2PWM3PWM4PWM5
* uint32_t chn PWM_CH_APWM_CH_B * uint32_t chn PWM_CH_APWM_CH_B
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t PWM_IntHEndStat(PWM_TypeDef *PWMx, uint32_t chn) uint32_t PWM_IntHEndStat(PWM_TypeDef *PWMx, uint32_t chn)

View File

@ -1,18 +1,18 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_rtc.c * : SWM320_rtc.c
* : SWM320单片机的RTC驱动库 * : SWM320单片机的RTC驱动库
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
@ -22,11 +22,11 @@
#include "SWM320_rtc.h" #include "SWM320_rtc.h"
static uint32_t calcWeekDay(uint32_t year, uint32_t month, uint32_t date); static uint32_t calcWeekDay(uint32_t year, uint32_t month, uint32_t date);
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_Init() * : RTC_Init()
* : RTC初始化 * : RTC初始化
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* RTC_InitStructure * initStruct RTC相关设定值的结构体 * RTC_InitStructure * initStruct RTC相关设定值的结构体
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -71,10 +71,10 @@ void RTC_Init(RTC_TypeDef *RTCx, RTC_InitStructure *initStruct)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_Start() * : RTC_Start()
* : RTC * : RTC
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -83,10 +83,10 @@ void RTC_Start(RTC_TypeDef *RTCx)
RTCx->EN = 1; RTCx->EN = 1;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_Stop() * : RTC_Stop()
* : RTC * : RTC
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -95,11 +95,11 @@ void RTC_Stop(RTC_TypeDef *RTCx)
RTCx->EN = 0; RTCx->EN = 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_GetDateTime() * : RTC_GetDateTime()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* RTC_DateTime * dateTime * RTC_DateTime * dateTime
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -114,11 +114,11 @@ void RTC_GetDateTime(RTC_TypeDef *RTCx, RTC_DateTime *dateTime)
dateTime->Second = (RTCx->MINSEC & RTC_MINSEC_SEC_Msk) >> RTC_MINSEC_SEC_Pos; dateTime->Second = (RTCx->MINSEC & RTC_MINSEC_SEC_Msk) >> RTC_MINSEC_SEC_Pos;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_AlarmSetup() * : RTC_AlarmSetup()
* : RTC闹钟设定 * : RTC闹钟设定
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* RTC_AlarmStructure * alarmStruct RTC闹钟设定值的结构体 * RTC_AlarmStructure * alarmStruct RTC闹钟设定值的结构体
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -145,13 +145,13 @@ void RTC_AlarmSetup(RTC_TypeDef *RTCx, RTC_AlarmStructure *alarmStruct)
NVIC_EnableIRQ(RTC_IRQn); NVIC_EnableIRQ(RTC_IRQn);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : calcWeekDay() * : calcWeekDay()
* : * :
* : uint32_t year * : uint32_t year
* uint32_t month * uint32_t month
* uint32_t date * uint32_t date
* : uint32_t 0 1 ... ... 6 * : uint32_t 0 1 ... ... 6
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
static uint32_t calcWeekDay(uint32_t year, uint32_t month, uint32_t date) static uint32_t calcWeekDay(uint32_t year, uint32_t month, uint32_t date)
@ -178,10 +178,10 @@ static uint32_t calcWeekDay(uint32_t year, uint32_t month, uint32_t date)
return (cnt + 1) % 7; return (cnt + 1) % 7;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntSecondEn() * : RTC_IntSecondEn()
* : 使 * : 使
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -190,10 +190,10 @@ void RTC_IntSecondEn(RTC_TypeDef *RTCx)
RTCx->IE |= (1 << RTC_IE_SEC_Pos); RTCx->IE |= (1 << RTC_IE_SEC_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntSecondDis() * : RTC_IntSecondDis()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -202,10 +202,10 @@ void RTC_IntSecondDis(RTC_TypeDef *RTCx)
RTCx->IE &= ~(1 << RTC_IE_SEC_Pos); RTCx->IE &= ~(1 << RTC_IE_SEC_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntSecondClr() * : RTC_IntSecondClr()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -214,11 +214,11 @@ void RTC_IntSecondClr(RTC_TypeDef *RTCx)
RTCx->IF = (1 << RTC_IF_SEC_Pos); RTCx->IF = (1 << RTC_IF_SEC_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntSecondStat() * : RTC_IntSecondStat()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t RTC_IntSecondStat(RTC_TypeDef *RTCx) uint32_t RTC_IntSecondStat(RTC_TypeDef *RTCx)
@ -226,10 +226,10 @@ uint32_t RTC_IntSecondStat(RTC_TypeDef *RTCx)
return (RTCx->IF & RTC_IF_SEC_Msk) ? 1 : 0; return (RTCx->IF & RTC_IF_SEC_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntMinuteEn() * : RTC_IntMinuteEn()
* : 使 * : 使
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -238,10 +238,10 @@ void RTC_IntMinuteEn(RTC_TypeDef *RTCx)
RTCx->IE |= (1 << RTC_IE_MIN_Pos); RTCx->IE |= (1 << RTC_IE_MIN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntMinuteDis() * : RTC_IntMinuteDis()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -250,10 +250,10 @@ void RTC_IntMinuteDis(RTC_TypeDef *RTCx)
RTCx->IE &= ~(1 << RTC_IE_MIN_Pos); RTCx->IE &= ~(1 << RTC_IE_MIN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntMinuteClr() * : RTC_IntMinuteClr()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -262,11 +262,11 @@ void RTC_IntMinuteClr(RTC_TypeDef *RTCx)
RTCx->IF = (1 << RTC_IF_MIN_Pos); RTCx->IF = (1 << RTC_IF_MIN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntMinuteStat() * : RTC_IntMinuteStat()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t RTC_IntMinuteStat(RTC_TypeDef *RTCx) uint32_t RTC_IntMinuteStat(RTC_TypeDef *RTCx)
@ -274,10 +274,10 @@ uint32_t RTC_IntMinuteStat(RTC_TypeDef *RTCx)
return (RTCx->IF & RTC_IF_MIN_Msk) ? 1 : 0; return (RTCx->IF & RTC_IF_MIN_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntHourEn() * : RTC_IntHourEn()
* : 使 * : 使
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -286,10 +286,10 @@ void RTC_IntHourEn(RTC_TypeDef *RTCx)
RTCx->IE |= (1 << RTC_IE_HOUR_Pos); RTCx->IE |= (1 << RTC_IE_HOUR_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntHourDis() * : RTC_IntHourDis()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -298,10 +298,10 @@ void RTC_IntHourDis(RTC_TypeDef *RTCx)
RTCx->IE &= ~(1 << RTC_IE_HOUR_Pos); RTCx->IE &= ~(1 << RTC_IE_HOUR_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntHourClr() * : RTC_IntHourClr()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -310,11 +310,11 @@ void RTC_IntHourClr(RTC_TypeDef *RTCx)
RTCx->IF = (1 << RTC_IF_HOUR_Pos); RTCx->IF = (1 << RTC_IF_HOUR_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntHourStat() * : RTC_IntHourStat()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t RTC_IntHourStat(RTC_TypeDef *RTCx) uint32_t RTC_IntHourStat(RTC_TypeDef *RTCx)
@ -322,10 +322,10 @@ uint32_t RTC_IntHourStat(RTC_TypeDef *RTCx)
return (RTCx->IF & RTC_IF_HOUR_Msk) ? 1 : 0; return (RTCx->IF & RTC_IF_HOUR_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntDateEn() * : RTC_IntDateEn()
* : 使 * : 使
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -334,10 +334,10 @@ void RTC_IntDateEn(RTC_TypeDef *RTCx)
RTCx->IE |= (1 << RTC_IE_DATE_Pos); RTCx->IE |= (1 << RTC_IE_DATE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntDateDis() * : RTC_IntDateDis()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -346,10 +346,10 @@ void RTC_IntDateDis(RTC_TypeDef *RTCx)
RTCx->IE &= ~(1 << RTC_IE_DATE_Pos); RTCx->IE &= ~(1 << RTC_IE_DATE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntDateClr() * : RTC_IntDateClr()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -358,11 +358,11 @@ void RTC_IntDateClr(RTC_TypeDef *RTCx)
RTCx->IF = (1 << RTC_IF_DATE_Pos); RTCx->IF = (1 << RTC_IF_DATE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntDateStat() * : RTC_IntDateStat()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t RTC_IntDateStat(RTC_TypeDef *RTCx) uint32_t RTC_IntDateStat(RTC_TypeDef *RTCx)
@ -370,10 +370,10 @@ uint32_t RTC_IntDateStat(RTC_TypeDef *RTCx)
return (RTCx->IF & RTC_IF_DATE_Msk) ? 1 : 0; return (RTCx->IF & RTC_IF_DATE_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntAlarmEn() * : RTC_IntAlarmEn()
* : 使 * : 使
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -382,10 +382,10 @@ void RTC_IntAlarmEn(RTC_TypeDef *RTCx)
RTCx->IE |= (1 << RTC_IE_ALARM_Pos); RTCx->IE |= (1 << RTC_IE_ALARM_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntAlarmDis() * : RTC_IntAlarmDis()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -394,10 +394,10 @@ void RTC_IntAlarmDis(RTC_TypeDef *RTCx)
RTCx->IE &= ~(1 << RTC_IE_ALARM_Pos); RTCx->IE &= ~(1 << RTC_IE_ALARM_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntAlarmClr() * : RTC_IntAlarmClr()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -406,11 +406,11 @@ void RTC_IntAlarmClr(RTC_TypeDef *RTCx)
RTCx->IF = (1 << RTC_IF_ALARM_Pos); RTCx->IF = (1 << RTC_IF_ALARM_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : RTC_IntAlarmStat() * : RTC_IntAlarmStat()
* : * :
* : RTC_TypeDef * RTCx RTCRTC * : RTC_TypeDef * RTCx RTCRTC
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t RTC_IntAlarmStat(RTC_TypeDef *RTCx) uint32_t RTC_IntAlarmStat(RTC_TypeDef *RTCx)

View File

@ -1,18 +1,18 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_sdio.c * : SWM320_sdio.c
* : SWM320单片机的SDIO接口驱动库 * : SWM320单片机的SDIO接口驱动库
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : 512 * : 512
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
@ -23,11 +23,11 @@
SD_CardInfo SD_cardInfo; SD_CardInfo SD_cardInfo;
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SDIO_Init() * : SDIO_Init()
* : SDIO读写SD卡初始化4线512 * : SDIO读写SD卡初始化4线512
* : uint32_t freq SDIO_CLK时钟频率 * : uint32_t freq SDIO_CLK时钟频率
* : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT * : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SDIO_Init(uint32_t freq) uint32_t SDIO_Init(uint32_t freq)
@ -125,12 +125,12 @@ uint32_t SDIO_Init(uint32_t freq)
return SD_RES_OK; return SD_RES_OK;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SDIO_BlockWrite() * : SDIO_BlockWrite()
* : SD卡写入数据 * : SD卡写入数据
* : uint32_t block_addr SD卡块地址512 * : uint32_t block_addr SD卡块地址512
* uint32_t buff[] * uint32_t buff[]
* : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT * : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SDIO_BlockWrite(uint32_t block_addr, uint32_t buff[]) uint32_t SDIO_BlockWrite(uint32_t block_addr, uint32_t buff[])
@ -161,13 +161,13 @@ uint32_t SDIO_BlockWrite(uint32_t block_addr, uint32_t buff[])
return SD_RES_OK; return SD_RES_OK;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SDIO_MultiBlockWrite() * : SDIO_MultiBlockWrite()
* : SD卡写入多块数据 * : SD卡写入多块数据
* : uint32_t block_addr SD卡块地址512 * : uint32_t block_addr SD卡块地址512
* uint16_t block_cnt * uint16_t block_cnt
* uint32_t buff[] * uint32_t buff[]
* : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT * : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SDIO_MultiBlockWrite(uint32_t block_addr, uint16_t block_cnt, uint32_t buff[]) uint32_t SDIO_MultiBlockWrite(uint32_t block_addr, uint16_t block_cnt, uint32_t buff[])
@ -201,13 +201,13 @@ uint32_t SDIO_MultiBlockWrite(uint32_t block_addr, uint16_t block_cnt, uint32_t
return SD_RES_OK; return SD_RES_OK;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SDIO_DMABlockWrite() * : SDIO_DMABlockWrite()
* : DMA向SD卡写入多块数据 * : DMA向SD卡写入多块数据
* : uint32_t block_addr SD卡块地址512 * : uint32_t block_addr SD卡块地址512
* uint16_t block_cnt * uint16_t block_cnt
* uint32_t buff[] * uint32_t buff[]
* : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT * : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SDIO_DMABlockWrite(uint32_t block_addr, uint16_t block_cnt, uint32_t buff[]) uint32_t SDIO_DMABlockWrite(uint32_t block_addr, uint16_t block_cnt, uint32_t buff[])
@ -233,12 +233,12 @@ uint32_t SDIO_DMABlockWrite(uint32_t block_addr, uint16_t block_cnt, uint32_t bu
return SD_RES_OK; return SD_RES_OK;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SDIO_BlockRead() * : SDIO_BlockRead()
* : SD卡读出数据 * : SD卡读出数据
* : uint32_t block_addr SD卡块地址512 * : uint32_t block_addr SD卡块地址512
* uint32_t buff[] * uint32_t buff[]
* : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT * : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SDIO_BlockRead(uint32_t block_addr, uint32_t buff[]) uint32_t SDIO_BlockRead(uint32_t block_addr, uint32_t buff[])
@ -269,13 +269,13 @@ uint32_t SDIO_BlockRead(uint32_t block_addr, uint32_t buff[])
return SD_RES_OK; return SD_RES_OK;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SDIO_MultiBlockRead() * : SDIO_MultiBlockRead()
* : SD卡读出多块数据 * : SD卡读出多块数据
* : uint32_t block_addr SD卡块地址512 * : uint32_t block_addr SD卡块地址512
* uint16_t block_cnt * uint16_t block_cnt
* uint32_t buff[] * uint32_t buff[]
* : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT * : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SDIO_MultiBlockRead(uint32_t block_addr, uint16_t block_cnt, uint32_t buff[]) uint32_t SDIO_MultiBlockRead(uint32_t block_addr, uint16_t block_cnt, uint32_t buff[])
@ -309,13 +309,13 @@ uint32_t SDIO_MultiBlockRead(uint32_t block_addr, uint16_t block_cnt, uint32_t b
return SD_RES_OK; return SD_RES_OK;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SDIO_DMABlockRead() * : SDIO_DMABlockRead()
* : DMA从SD卡读出多块数据 * : DMA从SD卡读出多块数据
* : uint32_t block_addr SD卡块地址512 * : uint32_t block_addr SD卡块地址512
* uint16_t block_cnt * uint16_t block_cnt
* uint32_t buff[] * uint32_t buff[]
* : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT * : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SDIO_DMABlockRead(uint32_t block_addr, uint16_t block_cnt, uint32_t buff[]) uint32_t SDIO_DMABlockRead(uint32_t block_addr, uint16_t block_cnt, uint32_t buff[])
@ -341,18 +341,18 @@ uint32_t SDIO_DMABlockRead(uint32_t block_addr, uint16_t block_cnt, uint32_t buf
return SD_RES_OK; return SD_RES_OK;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : _SDIO_SendCmd() * : _SDIO_SendCmd()
* : SDIO向SD卡发送命令 * : SDIO向SD卡发送命令
* : uint32_t cmd * : uint32_t cmd
* uint32_t arg * uint32_t arg
* uint32_t resp_type SD_RESP_NOSD_RESP_32bSD_RESP_128bSD_RESP_32b_busy * uint32_t resp_type SD_RESP_NOSD_RESP_32bSD_RESP_128bSD_RESP_32b_busy
* uint32_t *resp_data * uint32_t *resp_data
* uint32_t have_data * uint32_t have_data
* uint32_t data_read 1 SD卡 0 SD卡 * uint32_t data_read 1 SD卡 0 SD卡
* uint16_t block_cnt * uint16_t block_cnt
* uint32_t use_dma 1 使DMA搬运数据 * uint32_t use_dma 1 使DMA搬运数据
* : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT * : uint32_t SD_RES_OK SD_RES_ERR SD_RES_TIMEOUT
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t _SDIO_SendCmd(uint32_t cmd, uint32_t arg, uint32_t resp_type, uint32_t *resp_data, uint32_t have_data, uint32_t data_read, uint16_t block_cnt, uint32_t use_dma) uint32_t _SDIO_SendCmd(uint32_t cmd, uint32_t arg, uint32_t resp_type, uint32_t *resp_data, uint32_t have_data, uint32_t data_read, uint16_t block_cnt, uint32_t use_dma)

View File

@ -1,29 +1,29 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_sdram.c * : SWM320_sdram.c
* : SWM320单片机的SDRAM驱动程序 * : SWM320单片机的SDRAM驱动程序
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
* COPYRIGHT 2012 Synwit Technology * COPYRIGHT 2012 Synwit Technology
*******************************************************************************************************************************************/ *******************************************************************************************************************************************/
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_sdram.h" #include "SWM320_sdram.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SDRAM_Init() * : SDRAM_Init()
* : SDRAM控制器初始化 * : SDRAM控制器初始化
* : SDRAM_InitStructure * initStruct SDRAM * : SDRAM_InitStructure * initStruct SDRAM
* : * :
* : * :
@ -79,9 +79,9 @@ void SDRAM_Init(SDRAM_InitStructure *initStruct)
; ;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SDRAM_Enable() * : SDRAM_Enable()
* : SDRAM使能使SDRAM * : SDRAM使能使SDRAM
* : * :
* : * :
* : * :
@ -97,9 +97,9 @@ void SDRAM_Enable(void)
__NOP(); __NOP();
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SDRAM_Disable() * : SDRAM_Disable()
* : SDRAM禁能SDRAM颗粒进入低功耗模式 * : SDRAM禁能SDRAM颗粒进入低功耗模式
* : * :
* : * :
* : * :

View File

@ -1,18 +1,18 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_spi.c * : SWM320_spi.c
* : SWM320单片机的SPI功能驱动库 * : SWM320单片机的SPI功能驱动库
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
@ -21,11 +21,11 @@
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_spi.h" #include "SWM320_spi.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_Init() * : SPI_Init()
* : SPI同步串行接口初始化FIFO触发设定 * : SPI同步串行接口初始化FIFO触发设定
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* SPI_InitStructure * initStruct SPI相关设定值的结构体 * SPI_InitStructure * initStruct SPI相关设定值的结构体
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -86,10 +86,10 @@ void SPI_Init(SPI_TypeDef *SPIx, SPI_InitStructure *initStruct)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_Open() * : SPI_Open()
* : SPI打开 * : SPI打开
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -98,10 +98,10 @@ void SPI_Open(SPI_TypeDef *SPIx)
SPIx->CTRL |= (0x01 << SPI_CTRL_EN_Pos); SPIx->CTRL |= (0x01 << SPI_CTRL_EN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_Close() * : SPI_Close()
* : SPI关闭 * : SPI关闭
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -110,11 +110,11 @@ void SPI_Close(SPI_TypeDef *SPIx)
SPIx->CTRL &= ~SPI_CTRL_EN_Msk; SPIx->CTRL &= ~SPI_CTRL_EN_Msk;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_Read() * : SPI_Read()
* : * :
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : uint32_t * : uint32_t
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SPI_Read(SPI_TypeDef *SPIx) uint32_t SPI_Read(SPI_TypeDef *SPIx)
@ -122,11 +122,11 @@ uint32_t SPI_Read(SPI_TypeDef *SPIx)
return SPIx->DATA; return SPIx->DATA;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_Write() * : SPI_Write()
* : * :
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* uint32_t * uint32_t
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -135,11 +135,11 @@ void SPI_Write(SPI_TypeDef *SPIx, uint32_t data)
SPIx->DATA = data; SPIx->DATA = data;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_WriteWithWait() * : SPI_WriteWithWait()
* : * :
* : SPI_TypeDef * SPIx SPISPI0SPI1SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1SPI1
* uint32_t * uint32_t
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -153,12 +153,12 @@ void SPI_WriteWithWait(SPI_TypeDef *SPIx, uint32_t data)
; ;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_ReadWrite() * : SPI_ReadWrite()
* : * :
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* uint32_t data * uint32_t data
* : uint32_t * : uint32_t
* : SPI模块SPI_Write()SPI_Write()SPI_STAT_RFNE状态 * : SPI模块SPI_Write()SPI_Write()SPI_STAT_RFNE状态
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SPI_ReadWrite(SPI_TypeDef *SPIx, uint32_t data) uint32_t SPI_ReadWrite(SPI_TypeDef *SPIx, uint32_t data)
@ -170,11 +170,11 @@ uint32_t SPI_ReadWrite(SPI_TypeDef *SPIx, uint32_t data)
return SPIx->DATA; return SPIx->DATA;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_IsRXEmpty() * : SPI_IsRXEmpty()
* : FIFO是否空SPI_Read() * : FIFO是否空SPI_Read()
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : uint32_t 1 FIFO空 0 FIFO非空 * : uint32_t 1 FIFO空 0 FIFO非空
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SPI_IsRXEmpty(SPI_TypeDef *SPIx) uint32_t SPI_IsRXEmpty(SPI_TypeDef *SPIx)
@ -182,11 +182,11 @@ uint32_t SPI_IsRXEmpty(SPI_TypeDef *SPIx)
return (SPIx->STAT & SPI_STAT_RFNE_Msk) ? 0 : 1; return (SPIx->STAT & SPI_STAT_RFNE_Msk) ? 0 : 1;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_IsTXFull() * : SPI_IsTXFull()
* : FIFO是否满SPI_Write() * : FIFO是否满SPI_Write()
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : uint32_t 1 FIFO满 0 FIFO不满 * : uint32_t 1 FIFO满 0 FIFO不满
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SPI_IsTXFull(SPI_TypeDef *SPIx) uint32_t SPI_IsTXFull(SPI_TypeDef *SPIx)
@ -194,11 +194,11 @@ uint32_t SPI_IsTXFull(SPI_TypeDef *SPIx)
return (SPIx->STAT & SPI_STAT_TFNF_Msk) ? 0 : 1; return (SPIx->STAT & SPI_STAT_TFNF_Msk) ? 0 : 1;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_IsTXEmpty() * : SPI_IsTXEmpty()
* : FIFO是否空 * : FIFO是否空
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : uint32_t 1 FIFO空 0 FIFO非空 * : uint32_t 1 FIFO空 0 FIFO非空
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SPI_IsTXEmpty(SPI_TypeDef *SPIx) uint32_t SPI_IsTXEmpty(SPI_TypeDef *SPIx)
@ -206,10 +206,10 @@ uint32_t SPI_IsTXEmpty(SPI_TypeDef *SPIx)
return (SPIx->STAT & SPI_STAT_TFE_Msk) ? 1 : 0; return (SPIx->STAT & SPI_STAT_TFE_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTRXHalfFullEn() * : SPI_INTRXHalfFullEn()
* : FIFO半满中断使能 * : FIFO半满中断使能
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -218,10 +218,10 @@ void SPI_INTRXHalfFullEn(SPI_TypeDef *SPIx)
SPIx->IE |= (0x01 << SPI_IE_RFHF_Pos); SPIx->IE |= (0x01 << SPI_IE_RFHF_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTRXHalfFullDis() * : SPI_INTRXHalfFullDis()
* : FIFO半满中断禁止 * : FIFO半满中断禁止
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -230,10 +230,10 @@ void SPI_INTRXHalfFullDis(SPI_TypeDef *SPIx)
SPIx->IE &= ~(0x01 << SPI_IE_RFHF_Pos); SPIx->IE &= ~(0x01 << SPI_IE_RFHF_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTRXHalfFullClr() * : SPI_INTRXHalfFullClr()
* : FIFO半满中断标志清除 * : FIFO半满中断标志清除
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -242,11 +242,11 @@ void SPI_INTRXHalfFullClr(SPI_TypeDef *SPIx)
SPIx->IF = (1 << SPI_IF_RFHF_Pos); SPIx->IF = (1 << SPI_IF_RFHF_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTRXHalfFullStat() * : SPI_INTRXHalfFullStat()
* : FIFO半满中断状态 * : FIFO半满中断状态
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : uint32_t 1 FIFO达到半满 0 FIFO未达到半满 * : uint32_t 1 FIFO达到半满 0 FIFO未达到半满
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SPI_INTRXHalfFullStat(SPI_TypeDef *SPIx) uint32_t SPI_INTRXHalfFullStat(SPI_TypeDef *SPIx)
@ -254,10 +254,10 @@ uint32_t SPI_INTRXHalfFullStat(SPI_TypeDef *SPIx)
return (SPIx->IF & SPI_IF_RFHF_Msk) ? 1 : 0; return (SPIx->IF & SPI_IF_RFHF_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTRXFullEn() * : SPI_INTRXFullEn()
* : FIFO满中断使能 * : FIFO满中断使能
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -266,10 +266,10 @@ void SPI_INTRXFullEn(SPI_TypeDef *SPIx)
SPIx->IE |= (0x01 << SPI_IE_RFF_Pos); SPIx->IE |= (0x01 << SPI_IE_RFF_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTRXFullDis() * : SPI_INTRXFullDis()
* : FIFO满中断禁止 * : FIFO满中断禁止
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -278,10 +278,10 @@ void SPI_INTRXFullDis(SPI_TypeDef *SPIx)
SPIx->IE &= ~(0x01 << SPI_IE_RFF_Pos); SPIx->IE &= ~(0x01 << SPI_IE_RFF_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTRXFullClr() * : SPI_INTRXFullClr()
* : FIFO满中断标志清除 * : FIFO满中断标志清除
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -290,11 +290,11 @@ void SPI_INTRXFullClr(SPI_TypeDef *SPIx)
SPIx->IF = (1 << SPI_IF_RFF_Pos); SPIx->IF = (1 << SPI_IF_RFF_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTRXFullStat() * : SPI_INTRXFullStat()
* : FIFO满中断状态 * : FIFO满中断状态
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : uint32_t 1 FIFO满 0 FIFO未满 * : uint32_t 1 FIFO满 0 FIFO未满
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SPI_INTRXFullStat(SPI_TypeDef *SPIx) uint32_t SPI_INTRXFullStat(SPI_TypeDef *SPIx)
@ -302,10 +302,10 @@ uint32_t SPI_INTRXFullStat(SPI_TypeDef *SPIx)
return (SPIx->IF & SPI_IF_RFF_Msk) ? 1 : 0; return (SPIx->IF & SPI_IF_RFF_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTRXOverflowEn() * : SPI_INTRXOverflowEn()
* : FIFO溢出中断使能 * : FIFO溢出中断使能
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -314,10 +314,10 @@ void SPI_INTRXOverflowEn(SPI_TypeDef *SPIx)
SPIx->IE |= (0x01 << SPI_IE_RFOVF_Pos); SPIx->IE |= (0x01 << SPI_IE_RFOVF_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTRXOverflowDis() * : SPI_INTRXOverflowDis()
* : FIFO溢出中断禁止 * : FIFO溢出中断禁止
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -326,10 +326,10 @@ void SPI_INTRXOverflowDis(SPI_TypeDef *SPIx)
SPIx->IE &= ~(0x01 << SPI_IE_RFOVF_Pos); SPIx->IE &= ~(0x01 << SPI_IE_RFOVF_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTRXOverflowClr() * : SPI_INTRXOverflowClr()
* : FIFO溢出中断标志清除 * : FIFO溢出中断标志清除
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -338,11 +338,11 @@ void SPI_INTRXOverflowClr(SPI_TypeDef *SPIx)
SPIx->IF = (0x01 << SPI_IF_RFOVF_Pos); SPIx->IF = (0x01 << SPI_IF_RFOVF_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTRXOverflowStat() * : SPI_INTRXOverflowStat()
* : FIFO溢出中断状态 * : FIFO溢出中断状态
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : uint32_t 1 FIFO溢出 0 FIFO未溢出 * : uint32_t 1 FIFO溢出 0 FIFO未溢出
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SPI_INTRXOverflowStat(SPI_TypeDef *SPIx) uint32_t SPI_INTRXOverflowStat(SPI_TypeDef *SPIx)
@ -350,10 +350,10 @@ uint32_t SPI_INTRXOverflowStat(SPI_TypeDef *SPIx)
return (SPIx->IF & SPI_IF_RFOVF_Msk) ? 1 : 0; return (SPIx->IF & SPI_IF_RFOVF_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXHalfFullEn() * : SPI_INTTXHalfFullEn()
* : FIFO半满中断使能 * : FIFO半满中断使能
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -362,10 +362,10 @@ void SPI_INTTXHalfFullEn(SPI_TypeDef *SPIx)
SPIx->IE |= (0x01 << SPI_IE_TFHF_Pos); SPIx->IE |= (0x01 << SPI_IE_TFHF_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXHalfFullDis() * : SPI_INTTXHalfFullDis()
* : FIFO半满中断禁止 * : FIFO半满中断禁止
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -374,10 +374,10 @@ void SPI_INTTXHalfFullDis(SPI_TypeDef *SPIx)
SPIx->IE &= ~(0x01 << SPI_IE_TFHF_Pos); SPIx->IE &= ~(0x01 << SPI_IE_TFHF_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXHalfFullClr() * : SPI_INTTXHalfFullClr()
* : FIFO半满中断标志清除 * : FIFO半满中断标志清除
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -386,11 +386,11 @@ void SPI_INTTXHalfFullClr(SPI_TypeDef *SPIx)
SPIx->IF = (1 << SPI_IF_TFHF_Pos); SPIx->IF = (1 << SPI_IF_TFHF_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXHalfFullStat() * : SPI_INTTXHalfFullStat()
* : FIFO半满中断状态 * : FIFO半满中断状态
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : uint32_t 1 FIFO达到半满 0 FIFO未达到半满 * : uint32_t 1 FIFO达到半满 0 FIFO未达到半满
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SPI_INTTXHalfFullStat(SPI_TypeDef *SPIx) uint32_t SPI_INTTXHalfFullStat(SPI_TypeDef *SPIx)
@ -398,10 +398,10 @@ uint32_t SPI_INTTXHalfFullStat(SPI_TypeDef *SPIx)
return (SPIx->IF & SPI_IF_TFHF_Msk) ? 1 : 0; return (SPIx->IF & SPI_IF_TFHF_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXEmptyEn() * : SPI_INTTXEmptyEn()
* : FIFO空中断使能 * : FIFO空中断使能
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -410,10 +410,10 @@ void SPI_INTTXEmptyEn(SPI_TypeDef *SPIx)
SPIx->IE |= (0x01 << SPI_IE_TFE_Pos); SPIx->IE |= (0x01 << SPI_IE_TFE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXEmptyDis() * : SPI_INTTXEmptyDis()
* : FIFO空中断禁止 * : FIFO空中断禁止
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -422,10 +422,10 @@ void SPI_INTTXEmptyDis(SPI_TypeDef *SPIx)
SPIx->IE &= ~(0x01 << SPI_IE_TFE_Pos); SPIx->IE &= ~(0x01 << SPI_IE_TFE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXEmptyClr() * : SPI_INTTXEmptyClr()
* : FIFO空中断标志清除 * : FIFO空中断标志清除
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -434,11 +434,11 @@ void SPI_INTTXEmptyClr(SPI_TypeDef *SPIx)
SPIx->IF = (1 << SPI_IF_TFE_Pos); SPIx->IF = (1 << SPI_IF_TFE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXEmptyStat() * : SPI_INTTXEmptyStat()
* : FIFO空中断状态 * : FIFO空中断状态
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : uint32_t 1 FIFO空 0 FIFO非空 * : uint32_t 1 FIFO空 0 FIFO非空
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SPI_INTTXEmptyStat(SPI_TypeDef *SPIx) uint32_t SPI_INTTXEmptyStat(SPI_TypeDef *SPIx)
@ -446,10 +446,10 @@ uint32_t SPI_INTTXEmptyStat(SPI_TypeDef *SPIx)
return (SPIx->IF & SPI_IF_TFE_Msk) ? 1 : 0; return (SPIx->IF & SPI_IF_TFE_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXCompleteEn() * : SPI_INTTXCompleteEn()
* : FIFO空且发送移位寄存器空中断使能 * : FIFO空且发送移位寄存器空中断使能
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -458,10 +458,10 @@ void SPI_INTTXCompleteEn(SPI_TypeDef *SPIx)
SPIx->IE |= (0x01 << SPI_IE_FTC_Pos); SPIx->IE |= (0x01 << SPI_IE_FTC_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXCompleteDis() * : SPI_INTTXCompleteDis()
* : FIFO空且发送移位寄存器空中断禁止 * : FIFO空且发送移位寄存器空中断禁止
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -470,10 +470,10 @@ void SPI_INTTXCompleteDis(SPI_TypeDef *SPIx)
SPIx->IE &= ~(0x01 << SPI_IE_FTC_Pos); SPIx->IE &= ~(0x01 << SPI_IE_FTC_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXCompleteClr() * : SPI_INTTXCompleteClr()
* : FIFO空且发送移位寄存器空中断状态清除 * : FIFO空且发送移位寄存器空中断状态清除
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -482,11 +482,11 @@ void SPI_INTTXCompleteClr(SPI_TypeDef *SPIx)
SPIx->IF = (1 << SPI_IF_FTC_Pos); SPIx->IF = (1 << SPI_IF_FTC_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXCompleteStat() * : SPI_INTTXCompleteStat()
* : FIFO空且发送移位寄存器空中断状态 * : FIFO空且发送移位寄存器空中断状态
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : uint32_t 1 FIFO空且发送移位寄存器空 0 FIFO或发送移位寄存器非空 * : uint32_t 1 FIFO空且发送移位寄存器空 0 FIFO或发送移位寄存器非空
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SPI_INTTXCompleteStat(SPI_TypeDef *SPIx) uint32_t SPI_INTTXCompleteStat(SPI_TypeDef *SPIx)
@ -494,10 +494,10 @@ uint32_t SPI_INTTXCompleteStat(SPI_TypeDef *SPIx)
return (SPIx->IF & SPI_IF_FTC_Msk) ? 1 : 0; return (SPIx->IF & SPI_IF_FTC_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXWordCompleteEn() * : SPI_INTTXWordCompleteEn()
* : FIFO字发送完成中断使能 * : FIFO字发送完成中断使能
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -506,10 +506,10 @@ void SPI_INTTXWordCompleteEn(SPI_TypeDef *SPIx)
SPIx->IE |= (0x01 << SPI_IE_WTC_Pos); SPIx->IE |= (0x01 << SPI_IE_WTC_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXWordCompleteDis() * : SPI_INTTXWordCompleteDis()
* : FIFO字发送完成中断禁止 * : FIFO字发送完成中断禁止
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -518,10 +518,10 @@ void SPI_INTTXWordCompleteDis(SPI_TypeDef *SPIx)
SPIx->IE &= ~(0x01 << SPI_IE_WTC_Pos); SPIx->IE &= ~(0x01 << SPI_IE_WTC_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXWordCompleteClr() * : SPI_INTTXWordCompleteClr()
* : FIFO字发送完成中断标志清除 * : FIFO字发送完成中断标志清除
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -530,11 +530,11 @@ void SPI_INTTXWordCompleteClr(SPI_TypeDef *SPIx)
SPIx->IF = (1 << SPI_IF_WTC_Pos); SPIx->IF = (1 << SPI_IF_WTC_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SPI_INTTXWordCompleteStat() * : SPI_INTTXWordCompleteStat()
* : FIFO字发送完成中断状态 * : FIFO字发送完成中断状态
* : SPI_TypeDef * SPIx SPISPI0SPI1 * : SPI_TypeDef * SPIx SPISPI0SPI1
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t SPI_INTTXWordCompleteStat(SPI_TypeDef *SPIx) uint32_t SPI_INTTXWordCompleteStat(SPI_TypeDef *SPIx)

View File

@ -1,29 +1,29 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_sram.c * : SWM320_sram.c
* : SWM320单片机的SRAM驱动程序 * : SWM320单片机的SRAM驱动程序
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
* COPYRIGHT 2012 Synwit Technology * COPYRIGHT 2012 Synwit Technology
*******************************************************************************************************************************************/ *******************************************************************************************************************************************/
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_sram.h" #include "SWM320_sram.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SRAM_Init() * : SRAM_Init()
* : SRAM控制器初始化 * : SRAM控制器初始化
* : SRAM_InitStructure * initStruct SRAM * : SRAM_InitStructure * initStruct SRAM
* : * :
* : * :

View File

@ -1,33 +1,33 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_timr.c * : SWM320_timr.c
* : SWM320单片机的计数器/ * : SWM320单片机的计数器/
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
* COPYRIGHT 2012 Synwit Technology * COPYRIGHT 2012 Synwit Technology
*******************************************************************************************************************************************/ *******************************************************************************************************************************************/
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_timr.h" #include "SWM320_timr.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : TIMR_Init() * : TIMR_Init()
* : TIMR定时器/ * : TIMR定时器/
* : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5 * : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5
* uint32_t mode TIMR_MODE_TIMER TIMR_MODE_COUNTER * uint32_t mode TIMR_MODE_TIMER TIMR_MODE_COUNTER
* uint32_t period / * uint32_t period /
* uint32_t int_en 使 * uint32_t int_en 使
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -100,10 +100,10 @@ void TIMR_Init(TIMR_TypeDef *TIMRx, uint32_t mode, uint32_t period, uint32_t int
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : TIMR_Start() * : TIMR_Start()
* : / * : /
* : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5 * : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -112,10 +112,10 @@ void TIMR_Start(TIMR_TypeDef *TIMRx)
TIMRx->CTRL |= TIMR_CTRL_EN_Msk; TIMRx->CTRL |= TIMR_CTRL_EN_Msk;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : TIMR_Stop() * : TIMR_Stop()
* : * :
* : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5 * : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -124,10 +124,10 @@ void TIMR_Stop(TIMR_TypeDef *TIMRx)
TIMRx->CTRL &= ~TIMR_CTRL_EN_Msk; TIMRx->CTRL &= ~TIMR_CTRL_EN_Msk;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : TIMR_Halt() * : TIMR_Halt()
* : * :
* : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5 * : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -161,10 +161,10 @@ void TIMR_Halt(TIMR_TypeDef *TIMRx)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : TIMR_Resume() * : TIMR_Resume()
* : * :
* : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5 * : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -198,11 +198,11 @@ void TIMR_Resume(TIMR_TypeDef *TIMRx)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : TIMR_SetPeriod() * : TIMR_SetPeriod()
* : / * : /
* : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5 * : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5
* uint32_t period / * uint32_t period /
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -211,11 +211,11 @@ void TIMR_SetPeriod(TIMR_TypeDef *TIMRx, uint32_t period)
TIMRx->LDVAL = period; TIMRx->LDVAL = period;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : TIMR_GetPeriod() * : TIMR_GetPeriod()
* : / * : /
* : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5 * : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5
* : uint32_t / * : uint32_t /
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t TIMR_GetPeriod(TIMR_TypeDef *TIMRx) uint32_t TIMR_GetPeriod(TIMR_TypeDef *TIMRx)
@ -223,11 +223,11 @@ uint32_t TIMR_GetPeriod(TIMR_TypeDef *TIMRx)
return TIMRx->LDVAL; return TIMRx->LDVAL;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : TIMR_GetCurValue() * : TIMR_GetCurValue()
* : * :
* : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5 * : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5
* : uint32_t * : uint32_t
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t TIMR_GetCurValue(TIMR_TypeDef *TIMRx) uint32_t TIMR_GetCurValue(TIMR_TypeDef *TIMRx)
@ -235,10 +235,10 @@ uint32_t TIMR_GetCurValue(TIMR_TypeDef *TIMRx)
return TIMRx->CVAL; return TIMRx->CVAL;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : TIMR_INTEn() * : TIMR_INTEn()
* : 使 * : 使
* : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5 * : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -278,10 +278,10 @@ void TIMR_INTEn(TIMR_TypeDef *TIMRx)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : TIMR_INTDis() * : TIMR_INTDis()
* : * :
* : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5 * : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -315,10 +315,10 @@ void TIMR_INTDis(TIMR_TypeDef *TIMRx)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : TIMR_INTClr() * : TIMR_INTClr()
* : * :
* : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5 * : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -352,11 +352,11 @@ void TIMR_INTClr(TIMR_TypeDef *TIMRx)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : TIMR_INTStat() * : TIMR_INTStat()
* : * :
* : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5 * : TIMR_TypeDef * TIMRx TIMR0TIMR1TIMR2TIMR3TIMR4TIMR5
* : uint32_t 0 TIMRx未产生中断 1 TIMRx产生了中断 * : uint32_t 0 TIMRx未产生中断 1 TIMRx产生了中断
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t TIMR_INTStat(TIMR_TypeDef *TIMRx) uint32_t TIMR_INTStat(TIMR_TypeDef *TIMRx)
@ -385,11 +385,11 @@ uint32_t TIMR_INTStat(TIMR_TypeDef *TIMRx)
return 0; return 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : Pulse_Init() * : Pulse_Init()
* : * :
* : uint32_t pulse PULSE_LOW PULSE_HIGH * : uint32_t pulse PULSE_LOW PULSE_HIGH
* uint32_t int_en 使 * uint32_t int_en 使
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -407,9 +407,9 @@ void Pulse_Init(uint32_t pulse, uint32_t int_en)
NVIC_EnableIRQ(PULSE_IRQn); NVIC_EnableIRQ(PULSE_IRQn);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : Pulse_Start() * : Pulse_Start()
* : * :
* : * :
* : * :
* : * :
@ -419,11 +419,11 @@ void Pulse_Start(void)
TIMRG->PCTRL |= (1 << TIMRG_PCTRL_EN_Pos); TIMRG->PCTRL |= (1 << TIMRG_PCTRL_EN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : Pulse_Done() * : Pulse_Done()
* : * :
* : * :
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t Pulse_Done(void) uint32_t Pulse_Done(void)

View File

@ -1,31 +1,31 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_uart.c * : SWM320_uart.c
* : SWM320单片机的UART串口功能驱动库 * : SWM320单片机的UART串口功能驱动库
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : LIN功能相关的函数 * : LIN功能相关的函数
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
* COPYRIGHT 2012 Synwit Technology * COPYRIGHT 2012 Synwit Technology
*******************************************************************************************************************************************/ *******************************************************************************************************************************************/
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_uart.h" #include "SWM320_uart.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_Init() * : UART_Init()
* : UART串口初始化 * : UART串口初始化
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* UART_InitStructure * initStruct UART串口相关设定值的结构体 * UART_InitStructure * initStruct UART串口相关设定值的结构体
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -62,8 +62,8 @@ void UART_Init(UART_TypeDef *UARTx, UART_InitStructure *initStruct)
(initStruct->StopBits << UART_CTRL_STOP2b_Pos); (initStruct->StopBits << UART_CTRL_STOP2b_Pos);
/* 在SWM320中当 RXLVL >= RXTHR 时触发中断如果RXTHR设置为0的话在未接收到数据时就会一直触发中断 /* 在SWM320中当 RXLVL >= RXTHR 时触发中断如果RXTHR设置为0的话在未接收到数据时就会一直触发中断
RXLVL > RXTHR SWM320中RXTHR不能为0的问题APIRXTHR设置值加一 RXLVL > RXTHR SWM320中RXTHR不能为0的问题APIRXTHR设置值加一
*/ */
switch ((uint32_t)UARTx) // 软件复位不能清零 NVIC 寄存器,若不手动清除,下面的代码清零 RXTHR 时会导致一直进入 ISR switch ((uint32_t)UARTx) // 软件复位不能清零 NVIC 寄存器,若不手动清除,下面的代码清零 RXTHR 时会导致一直进入 ISR
{ {
case ((uint32_t)UART0): case ((uint32_t)UART0):
@ -139,10 +139,10 @@ void UART_Init(UART_TypeDef *UARTx, UART_InitStructure *initStruct)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_Open() * : UART_Open()
* : UART串口打开 * : UART串口打开
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -151,10 +151,10 @@ void UART_Open(UART_TypeDef *UARTx)
UARTx->CTRL |= (0x01 << UART_CTRL_EN_Pos); UARTx->CTRL |= (0x01 << UART_CTRL_EN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_Close() * : UART_Close()
* : UART串口关闭 * : UART串口关闭
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -163,11 +163,11 @@ void UART_Close(UART_TypeDef *UARTx)
UARTx->CTRL &= ~(0x01 << UART_CTRL_EN_Pos); UARTx->CTRL &= ~(0x01 << UART_CTRL_EN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_WriteByte() * : UART_WriteByte()
* : * :
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3UART4 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3UART4
* uint32_t data * uint32_t data
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -176,12 +176,12 @@ void UART_WriteByte(UART_TypeDef *UARTx, uint32_t data)
UARTx->DATA = data; UARTx->DATA = data;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_ReadByte() * : UART_ReadByte()
* : Valid * : Valid
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3UART4 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3UART4
* uint32_t * data * uint32_t * data
* : uint32_t 0 UART_ERR_PARITY * : uint32_t 0 UART_ERR_PARITY
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t UART_ReadByte(UART_TypeDef *UARTx, uint32_t *data) uint32_t UART_ReadByte(UART_TypeDef *UARTx, uint32_t *data)
@ -196,11 +196,11 @@ uint32_t UART_ReadByte(UART_TypeDef *UARTx, uint32_t *data)
return 0; return 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_IsTXBusy() * : UART_IsTXBusy()
* : UART是否正在发送数据 * : UART是否正在发送数据
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : uint32_t 1 UART正在发送数据 0 * : uint32_t 1 UART正在发送数据 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t UART_IsTXBusy(UART_TypeDef *UARTx) uint32_t UART_IsTXBusy(UART_TypeDef *UARTx)
@ -208,11 +208,11 @@ uint32_t UART_IsTXBusy(UART_TypeDef *UARTx)
return (UARTx->CTRL & UART_CTRL_TXIDLE_Msk) ? 0 : 1; return (UARTx->CTRL & UART_CTRL_TXIDLE_Msk) ? 0 : 1;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_IsRXFIFOEmpty() * : UART_IsRXFIFOEmpty()
* : FIFO是否为空 * : FIFO是否为空
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : uint32_t 1 FIFO空 0 FIFO非空 * : uint32_t 1 FIFO空 0 FIFO非空
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t UART_IsRXFIFOEmpty(UART_TypeDef *UARTx) uint32_t UART_IsRXFIFOEmpty(UART_TypeDef *UARTx)
@ -220,11 +220,11 @@ uint32_t UART_IsRXFIFOEmpty(UART_TypeDef *UARTx)
return (UARTx->CTRL & UART_CTRL_RXNE_Msk) ? 0 : 1; return (UARTx->CTRL & UART_CTRL_RXNE_Msk) ? 0 : 1;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_IsTXFIFOFull() * : UART_IsTXFIFOFull()
* : FIFO是否为满 * : FIFO是否为满
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : uint32_t 1 FIFO满 0 FIFO不满 * : uint32_t 1 FIFO满 0 FIFO不满
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t UART_IsTXFIFOFull(UART_TypeDef *UARTx) uint32_t UART_IsTXFIFOFull(UART_TypeDef *UARTx)
@ -232,11 +232,11 @@ uint32_t UART_IsTXFIFOFull(UART_TypeDef *UARTx)
return (UARTx->CTRL & UART_CTRL_TXFF_Msk) ? 1 : 0; return (UARTx->CTRL & UART_CTRL_TXFF_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_SetBaudrate() * : UART_SetBaudrate()
* : * :
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* uint32_t baudrate * uint32_t baudrate
* : * :
* : 使UART_Close() * : 使UART_Close()
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -246,11 +246,11 @@ void UART_SetBaudrate(UART_TypeDef *UARTx, uint32_t baudrate)
UARTx->BAUD |= ((SystemCoreClock / 16 / baudrate - 1) << UART_BAUD_BAUD_Pos); UARTx->BAUD |= ((SystemCoreClock / 16 / baudrate - 1) << UART_BAUD_BAUD_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_GetBaudrate() * : UART_GetBaudrate()
* : * :
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : uint32_t * : uint32_t
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t UART_GetBaudrate(UART_TypeDef *UARTx) uint32_t UART_GetBaudrate(UART_TypeDef *UARTx)
@ -258,12 +258,12 @@ uint32_t UART_GetBaudrate(UART_TypeDef *UARTx)
return SystemCoreClock / 16 / (((UARTx->BAUD & UART_BAUD_BAUD_Msk) >> UART_BAUD_BAUD_Pos) + 1); return SystemCoreClock / 16 / (((UARTx->BAUD & UART_BAUD_BAUD_Msk) >> UART_BAUD_BAUD_Pos) + 1);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_CTSConfig() * : UART_CTSConfig()
* : UART CTS流控配置 * : UART CTS流控配置
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* uint32_t enable 1 使CTS流控 0 CTS流控 * uint32_t enable 1 使CTS流控 0 CTS流控
* uint32_t polarity 0 CTS输入为低表示可以发送数据 1 CTS输入为高表示可以发送数据 * uint32_t polarity 0 CTS输入为低表示可以发送数据 1 CTS输入为高表示可以发送数据
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -274,11 +274,11 @@ void UART_CTSConfig(UART_TypeDef *UARTx, uint32_t enable, uint32_t polarity)
(polarity << UART_CTSCR_POL_Pos); (polarity << UART_CTSCR_POL_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_CTSLineState() * : UART_CTSLineState()
* : UART CTS线当前状态 * : UART CTS线当前状态
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : uint32_t 0 CTS线当前为低电平 1 CTS线当前为高电平 * : uint32_t 0 CTS线当前为低电平 1 CTS线当前为高电平
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t UART_CTSLineState(UART_TypeDef *UARTx) uint32_t UART_CTSLineState(UART_TypeDef *UARTx)
@ -286,13 +286,13 @@ uint32_t UART_CTSLineState(UART_TypeDef *UARTx)
return (UARTx->CTSCR & UART_CTSCR_STAT_Msk) ? 1 : 0; return (UARTx->CTSCR & UART_CTSCR_STAT_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_RTSConfig() * : UART_RTSConfig()
* : UART RTS流控配置 * : UART RTS流控配置
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* uint32_t enable 1 使RTS流控 0 RTS流控 * uint32_t enable 1 使RTS流控 0 RTS流控
* uint32_t polarity 0 RTS输出低表示可以接收数据 1 RTS输出高表示可以接收数据 * uint32_t polarity 0 RTS输出低表示可以接收数据 1 RTS输出高表示可以接收数据
* uint32_t threshold RTS流控的触发阈值UART_RTS_1BYTEUART_RTS_2BYTEUART_RTS_4BYTEUART_RTS_6BYTE * uint32_t threshold RTS流控的触发阈值UART_RTS_1BYTEUART_RTS_2BYTEUART_RTS_4BYTEUART_RTS_6BYTE
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -304,11 +304,11 @@ void UART_RTSConfig(UART_TypeDef *UARTx, uint32_t enable, uint32_t polarity, uin
(threshold << UART_RTSCR_THR_Pos); (threshold << UART_RTSCR_THR_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_RTSLineState() * : UART_RTSLineState()
* : UART RTS线当前状态 * : UART RTS线当前状态
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : uint32_t 0 RTS线当前为低电平 1 RTS线当前为高电平 * : uint32_t 0 RTS线当前为低电平 1 RTS线当前为高电平
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t UART_RTSLineState(UART_TypeDef *UARTx) uint32_t UART_RTSLineState(UART_TypeDef *UARTx)
@ -316,12 +316,12 @@ uint32_t UART_RTSLineState(UART_TypeDef *UARTx)
return (UARTx->RTSCR & UART_RTSCR_STAT_Msk) ? 1 : 0; return (UARTx->RTSCR & UART_RTSCR_STAT_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_LINConfig() * : UART_LINConfig()
* : UART LIN功能配置 * : UART LIN功能配置
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* uint32_t detectedIEn Break中断使能 * uint32_t detectedIEn Break中断使能
* uint32_t generatedIEn Break发送完成中断使能 * uint32_t generatedIEn Break发送完成中断使能
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -332,10 +332,10 @@ void UART_LINConfig(UART_TypeDef *UARTx, uint32_t detectedIEn, uint32_t generate
(generatedIEn << UART_LINCR_GENBRKIE_Pos); (generatedIEn << UART_LINCR_GENBRKIE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_LINGenerate() * : UART_LINGenerate()
* : UART LIN产生/Break * : UART LIN产生/Break
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -344,11 +344,11 @@ void UART_LINGenerate(UART_TypeDef *UARTx)
UARTx->LINCR |= (1 << UART_LINCR_GENBRK_Pos); UARTx->LINCR |= (1 << UART_LINCR_GENBRK_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_LINIsDetected() * : UART_LINIsDetected()
* : UART LIN是否检测到Break * : UART LIN是否检测到Break
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : uint32_t 1 LIN Break 0 LIN Break * : uint32_t 1 LIN Break 0 LIN Break
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t UART_LINIsDetected(UART_TypeDef *UARTx) uint32_t UART_LINIsDetected(UART_TypeDef *UARTx)
@ -356,11 +356,11 @@ uint32_t UART_LINIsDetected(UART_TypeDef *UARTx)
return (UARTx->LINCR & UART_LINCR_BRKDETIF_Msk) ? 1 : 0; return (UARTx->LINCR & UART_LINCR_BRKDETIF_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_LINIsGenerated() * : UART_LINIsGenerated()
* : UART LIN Break是否发送完成 * : UART LIN Break是否发送完成
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : uint32_t 1 LIN Break 0 LIN Break发送未完成 * : uint32_t 1 LIN Break 0 LIN Break发送未完成
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t UART_LINIsGenerated(UART_TypeDef *UARTx) uint32_t UART_LINIsGenerated(UART_TypeDef *UARTx)
@ -368,13 +368,13 @@ uint32_t UART_LINIsGenerated(UART_TypeDef *UARTx)
return (UARTx->LINCR & UART_LINCR_GENBRKIF_Msk) ? 1 : 0; return (UARTx->LINCR & UART_LINCR_GENBRKIF_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_ABRStart() * : UART_ABRStart()
* : UART * : UART
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* uint32_t detectChar * uint32_t detectChar
* 80xFF0xFE0xF80x800xFF0xFE0xF80x80 * 80xFF0xFE0xF80x800xFF0xFE0xF80x80
* 90x1FF0x1FE0x1F80x1800x1FF0x1FE0x1F80x180 * 90x1FF0x1FE0x1F80x1800x1FF0x1FE0x1F80x180
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -399,11 +399,11 @@ void UART_ABRStart(UART_TypeDef *UARTx, uint32_t detectChar)
(bits << UART_BAUD_ABRBIT_Pos); (bits << UART_BAUD_ABRBIT_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_ABRIsDone() * : UART_ABRIsDone()
* : UART * : UART
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : uint32_t 0 UART_ABR_RES_OK UART_ABR_RES_ERR * : uint32_t 0 UART_ABR_RES_OK UART_ABR_RES_ERR
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t UART_ABRIsDone(UART_TypeDef *UARTx) uint32_t UART_ABRIsDone(UART_TypeDef *UARTx)
@ -422,10 +422,10 @@ uint32_t UART_ABRIsDone(UART_TypeDef *UARTx)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_INTRXThresholdEn() * : UART_INTRXThresholdEn()
* : RX FIFO中数据个数 >= RXThreshold时 * : RX FIFO中数据个数 >= RXThreshold时
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -434,10 +434,10 @@ void UART_INTRXThresholdEn(UART_TypeDef *UARTx)
UARTx->CTRL |= (0x01 << UART_CTRL_RXIE_Pos); UARTx->CTRL |= (0x01 << UART_CTRL_RXIE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_INTRXThresholdDis() * : UART_INTRXThresholdDis()
* : RX FIFO中数据个数 >= RXThreshold时 * : RX FIFO中数据个数 >= RXThreshold时
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -446,11 +446,11 @@ void UART_INTRXThresholdDis(UART_TypeDef *UARTx)
UARTx->CTRL &= ~(0x01 << UART_CTRL_RXIE_Pos); UARTx->CTRL &= ~(0x01 << UART_CTRL_RXIE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_INTRXThresholdStat() * : UART_INTRXThresholdStat()
* : RX FIFO中数据个数 >= RXThreshold * : RX FIFO中数据个数 >= RXThreshold
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : uint32_t 1 RX FIFO中数据个数 >= RXThreshold 0 RX FIFO中数据个数 < RXThreshold * : uint32_t 1 RX FIFO中数据个数 >= RXThreshold 0 RX FIFO中数据个数 < RXThreshold
* : RXIF = RXTHRF & RXIE * : RXIF = RXTHRF & RXIE
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t UART_INTRXThresholdStat(UART_TypeDef *UARTx) uint32_t UART_INTRXThresholdStat(UART_TypeDef *UARTx)
@ -458,10 +458,10 @@ uint32_t UART_INTRXThresholdStat(UART_TypeDef *UARTx)
return (UARTx->BAUD & UART_BAUD_RXIF_Msk) ? 1 : 0; return (UARTx->BAUD & UART_BAUD_RXIF_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_INTTXThresholdEn() * : UART_INTTXThresholdEn()
* : TX FIFO中数据个数 <= TXThreshold时 * : TX FIFO中数据个数 <= TXThreshold时
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -470,10 +470,10 @@ void UART_INTTXThresholdEn(UART_TypeDef *UARTx)
UARTx->CTRL |= (0x01 << UART_CTRL_TXIE_Pos); UARTx->CTRL |= (0x01 << UART_CTRL_TXIE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_INTTXThresholdDis() * : UART_INTTXThresholdDis()
* : TX FIFO中数据个数 <= TXThreshold时 * : TX FIFO中数据个数 <= TXThreshold时
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -482,11 +482,11 @@ void UART_INTTXThresholdDis(UART_TypeDef *UARTx)
UARTx->CTRL &= ~(0x01 << UART_CTRL_TXIE_Pos); UARTx->CTRL &= ~(0x01 << UART_CTRL_TXIE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_INTTXThresholdStat() * : UART_INTTXThresholdStat()
* : TX FIFO中数据个数 <= TXThreshold * : TX FIFO中数据个数 <= TXThreshold
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : uint32_t 1 TX FIFO中数据个数 <= TXThreshold 0 TX FIFO中数据个数 > TXThreshold * : uint32_t 1 TX FIFO中数据个数 <= TXThreshold 0 TX FIFO中数据个数 > TXThreshold
* : TXIF = TXTHRF & TXIE * : TXIF = TXTHRF & TXIE
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t UART_INTTXThresholdStat(UART_TypeDef *UARTx) uint32_t UART_INTTXThresholdStat(UART_TypeDef *UARTx)
@ -494,10 +494,10 @@ uint32_t UART_INTTXThresholdStat(UART_TypeDef *UARTx)
return (UARTx->BAUD & UART_BAUD_TXIF_Msk) ? 1 : 0; return (UARTx->BAUD & UART_BAUD_TXIF_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_INTTimeoutEn() * : UART_INTTimeoutEn()
* : * :
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -506,10 +506,10 @@ void UART_INTTimeoutEn(UART_TypeDef *UARTx)
UARTx->CTRL |= (0x01 << UART_CTRL_TOIE_Pos); UARTx->CTRL |= (0x01 << UART_CTRL_TOIE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_INTTimeoutDis() * : UART_INTTimeoutDis()
* : * :
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -518,11 +518,11 @@ void UART_INTTimeoutDis(UART_TypeDef *UARTx)
UARTx->CTRL &= ~(0x01 << UART_CTRL_TOIE_Pos); UARTx->CTRL &= ~(0x01 << UART_CTRL_TOIE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_INTTimeoutStat() * : UART_INTTimeoutStat()
* : TimeoutTime/(Baudrate/10) RX线上接收到数据时触发中断 * : TimeoutTime/(Baudrate/10) RX线上接收到数据时触发中断
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : uint32_t 1 0 * : uint32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t UART_INTTimeoutStat(UART_TypeDef *UARTx) uint32_t UART_INTTimeoutStat(UART_TypeDef *UARTx)
@ -530,10 +530,10 @@ uint32_t UART_INTTimeoutStat(UART_TypeDef *UARTx)
return (UARTx->BAUD & UART_BAUD_TOIF_Msk) ? 1 : 0; return (UARTx->BAUD & UART_BAUD_TOIF_Msk) ? 1 : 0;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_INTTXDoneEn() * : UART_INTTXDoneEn()
* : FIFO空且发送移位寄存器空中断使能 * : FIFO空且发送移位寄存器空中断使能
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -542,10 +542,10 @@ void UART_INTTXDoneEn(UART_TypeDef *UARTx)
UARTx->CTRL |= (0x01 << UART_CTRL_TXDOIE_Pos); UARTx->CTRL |= (0x01 << UART_CTRL_TXDOIE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_INTTXDoneDis() * : UART_INTTXDoneDis()
* : FIFO空且发送移位寄存器空中断禁止 * : FIFO空且发送移位寄存器空中断禁止
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -554,11 +554,11 @@ void UART_INTTXDoneDis(UART_TypeDef *UARTx)
UARTx->CTRL &= ~(0x01 << UART_CTRL_TXDOIE_Pos); UARTx->CTRL &= ~(0x01 << UART_CTRL_TXDOIE_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : UART_INTTXDoneStat() * : UART_INTTXDoneStat()
* : FIFO空且发送移位寄存器空中断状态 * : FIFO空且发送移位寄存器空中断状态
* : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3 * : UART_TypeDef * UARTx UART串口UART0UART1UART2UART3
* : uint32_t 1 FIFO空且发送移位寄存器空 0 FIFO或发送移位寄存器未空 * : uint32_t 1 FIFO空且发送移位寄存器空 0 FIFO或发送移位寄存器未空
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t UART_INTTXDoneStat(UART_TypeDef *UARTx) uint32_t UART_INTTXDoneStat(UART_TypeDef *UARTx)

View File

@ -1,18 +1,18 @@
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : SWM320_wdt.c * : SWM320_wdt.c
* : SWM320单片机的WDT看门狗功能驱动库 * : SWM320单片机的WDT看门狗功能驱动库
* : http://www.synwit.com.cn/e/tool/gbook/?bid=1 * : http://www.synwit.com.cn/e/tool/gbook/?bid=1
* : * :
* : V1.1.0 20171025 * : V1.1.0 20171025
* : * :
* *
* *
******************************************************************************************************************************************* *******************************************************************************************************************************************
* @attention * @attention
* *
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
* -ECTION WITH THEIR PRODUCTS. * -ECTION WITH THEIR PRODUCTS.
* *
@ -21,12 +21,12 @@
#include "SWM320.h" #include "SWM320.h"
#include "SWM320_wdt.h" #include "SWM320_wdt.h"
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : WDT_Init() * : WDT_Init()
* : WDT看门狗初始化 * : WDT看门狗初始化
* : WDT_TypeDef * WDTx WDT * : WDT_TypeDef * WDTx WDT
* uint32_t peroid 0--4294967295 * uint32_t peroid 0--4294967295
* uint32_t mode WDT_MODE_RESET WDT_MODE_INTERRUPT * uint32_t mode WDT_MODE_RESET WDT_MODE_INTERRUPT
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -54,10 +54,10 @@ void WDT_Init(WDT_TypeDef *WDTx, uint32_t peroid, uint32_t mode)
} }
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : WDT_Start() * : WDT_Start()
* : WDT * : WDT
* : WDT_TypeDef * WDTx WDT * : WDT_TypeDef * WDTx WDT
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -66,10 +66,10 @@ void WDT_Start(WDT_TypeDef *WDTx)
WDTx->CR |= (0x01 << WDT_CR_EN_Pos); WDTx->CR |= (0x01 << WDT_CR_EN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : WDT_Stop() * : WDT_Stop()
* : WDT * : WDT
* : WDT_TypeDef * WDTx WDT * : WDT_TypeDef * WDTx WDT
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -78,10 +78,10 @@ void WDT_Stop(WDT_TypeDef *WDTx)
WDTx->CR &= ~(0x01 << WDT_CR_EN_Pos); WDTx->CR &= ~(0x01 << WDT_CR_EN_Pos);
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : WDT_Feed() * : WDT_Feed()
* : * :
* : WDT_TypeDef * WDTx WDT * : WDT_TypeDef * WDTx WDT
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -90,11 +90,11 @@ void WDT_Feed(WDT_TypeDef *WDTx)
WDTx->FEED = 0x55; WDTx->FEED = 0x55;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : WDT_GetValue() * : WDT_GetValue()
* : * :
* : WDT_TypeDef * WDTx WDT * : WDT_TypeDef * WDTx WDT
* : int32_t * : int32_t
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
int32_t WDT_GetValue(WDT_TypeDef *WDTx) int32_t WDT_GetValue(WDT_TypeDef *WDTx)
@ -102,10 +102,10 @@ int32_t WDT_GetValue(WDT_TypeDef *WDTx)
return WDTx->VALUE; return WDTx->VALUE;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : WDT_INTClr() * : WDT_INTClr()
* : * :
* : WDT_TypeDef * WDTx WDT * : WDT_TypeDef * WDTx WDT
* : * :
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
@ -114,11 +114,11 @@ void WDT_INTClr(WDT_TypeDef *WDTx)
WDTx->IF = 1; WDTx->IF = 1;
} }
/****************************************************************************************************************************************** /******************************************************************************************************************************************
* : WDT_INTStat() * : WDT_INTStat()
* : * :
* : WDT_TypeDef * WDTx WDT * : WDT_TypeDef * WDTx WDT
* : int32_t 1 0 * : int32_t 1 0
* : * :
******************************************************************************************************************************************/ ******************************************************************************************************************************************/
uint32_t WDT_INTStat(WDT_TypeDef *WDTx) uint32_t WDT_INTStat(WDT_TypeDef *WDTx)