查看: 175|回复: 7
收起左侧

GD32F190窗口比较器

[复制链接]

27

主题

101

帖子

289

积分

中级技术员

 楼主| 发表于 2017-5-27 08:47 | 显示全部楼层 |返回版面|阅读模式
GD32F190例程中,配置窗口比较器时,只配置了CMP2,没有配置CMP1,没有找到关于这方面的详细说明,其中有玄机。
全部代码如下:
/* Includes ------------------------------------------------------------------*/
#include "gd32f1x0.h"
#include "stdio.h"

/* Private function prototypes -----------------------------------------------*/
void RCC_Configuration(void);
void GPIO_Configuration(void);

/* Private functions ---------------------------------------------------------*/
/**
  * @brief  Main program.
  * @param  None
  * @retval None
  */
int main(void)
{
    CMP_InitPara CMP_InitStruct;

        /* Configure RCC */
    RCC_Configuration();

        /* Configure GPIOA */
    GPIO_Configuration();

        /* Initialize CMP */
    CMP_ParaInit(&CMP_InitStruct);
    CMP_InitStruct.CMP_InvertingInput = CMP_INVERTINGINPUT_1_2VREFINT;
    CMP_InitStruct.CMP_Output = CMP_OUTPUT_NONE;
    CMP_InitStruct.CMP_Hysteresis = CMP_HYSTERESIS_NO;
    CMP_InitStruct.CMP_OperatingMode = CMP_OPERATINGMODE_VERYLOWSPEED;
    CMP_InitStruct.CMP_OutputPolarity = CMP_OUTPUTPOLARITY_NONINVERTED;
    CMP_Init(CMP_CHANNEL_CMP2, &CMP_InitStruct);

        /* Enable window */
    CMP_Window_Enable(ENABLE);

        /* Enable CMP2 */
    CMP_Enable(CMP_CHANNEL_CMP2, ENABLE);

        /* Enable CMP1 */
    CMP_Enable(CMP_CHANNEL_CMP1, ENABLE);

    while(1);
}

/**
  * @brief  RCC configuration.
  * @param  None
  * @retval None
  */
void RCC_Configuration(void)
{
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOA,ENABLE);
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_CMP ,ENABLE);
}

/**
  * @brief  GPIO configuration.
  * @param  None
  * @retval None
  */
void GPIO_Configuration(void)
{
    GPIO_InitPara GPIO_InitStruct;

    GPIO_ParaInit(&GPIO_InitStruct);
    GPIO_InitStruct.GPIO_Pin   = GPIO_PIN_1 ;
    GPIO_InitStruct.GPIO_Mode  = GPIO_MODE_AN;
    GPIO_InitStruct.GPIO_Speed =  GPIO_SPEED_50MHZ;
    GPIO_InitStruct.GPIO_OType = GPIO_OTYPE_PP;
    GPIO_InitStruct.GPIO_PuPd  =GPIO_PUPD_PULLUP;
    GPIO_Init(GPIOA, &GPIO_InitStruct);

    GPIO_InitStruct.GPIO_Pin   = GPIO_PIN_7;
    GPIO_InitStruct.GPIO_Mode  = GPIO_MODE_AF;
    GPIO_InitStruct.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_InitStruct.GPIO_OType = GPIO_OTYPE_PP;
    GPIO_InitStruct.GPIO_PuPd  = GPIO_PUPD_PULLUP;
    GPIO_Init(GPIOA, &GPIO_InitStruct);
    GPIO_PinAFConfig(GPIOA,GPIO_PINSOURCE7,GPIO_AF_7);
}


电源,电子,电气,电机,……
水平有限,精通不多,学无止境。

28

主题

1233

帖子

3709

积分

中级工程师

发表于 2017-5-29 18:20 | 显示全部楼层 |返回版面
这个是定时器的一种的哈,了解了

0

主题

9

帖子

27

积分

实习生

发表于 2017-5-31 20:17 | 显示全部楼层 |返回版面
什么东东

74

主题

3766

帖子

1万

积分

资深工程师

发表于 2017-6-14 23:07 | 显示全部楼层 |返回版面
这个GPIO寄存器上的配置是没啥问题的

77

主题

3430

帖子

1万

积分

资深工程师

发表于 2017-6-14 23:41 | 显示全部楼层 |返回版面
窗口比较器的是做什么的?

28

主题

1233

帖子

3709

积分

中级工程师

发表于 2017-6-15 22:23 | 显示全部楼层 |返回版面
这个配置的主要是想实现什么的功能的?

22

主题

1245

帖子

3735

积分

中级工程师

发表于 2017-6-15 22:46 | 显示全部楼层 |返回版面
窗口比较器的主要是用到哪些方面的?

25

主题

1215

帖子

3649

积分

中级工程师

发表于 2017-6-16 00:13 | 显示全部楼层 |返回版面
为什么两个寄存器的不全部配置的呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

分享 快速回复 返回顶部 返回列表