GD32L233xxxx 使用 内部 比较器 comparer

最近使用GD32L233xxxx开发项目,使用CMP的方法,以类的形式总结如下:

CMP basic functions as follow:

/*the following parameters selected CMP1, set interrupt as both edge, output waves from the CMP1's output*/
void cmp_interrupt_init(void) {
    nvic_irq_enable(CMP_dev.CMP_irq, CMP_dev.CMP_priority);
    exti_flag_clear(CMP_dev.CMP_exti_line);
    exti_init(CMP_dev.CMP_exti_line, EXTI_INTERRUPT, EXTI_TRIG_BOTH);
    exti_interrupt_enable(CMP_dev.CMP_exti_line);
}

void cmp_init(void) {
    rcu_periph_clock_enable(CMP_dev.CMP_rcu);
    gpio_mode_set(CMP_dev.CMP_N_port, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, CMP_dev.CMP_N_pin | CMP_dev.CMP_P_pin);

	gpio_af_set(CMP_dev.CMP_O_port, GPIO_AF_6, CMP_dev.CMP_O_pin);
	gpio_mode_set(CMP_dev.CMP_O_port, GPIO_MODE_AF, GPIO_PUPD_NONE, CMP_dev.CMP_O_pin);
	gpio_output_options_set(CMP_dev.CMP_O_port, GPIO_OTYPE_PP, GPIO_OSPEED_10MHZ, CMP_dev.CMP_O_pin);
    
	rcu_periph_clock_enable(RCU_CMP);

    cmp_disable(CMP_dev.CM

你可能感兴趣的:(MCU_32-Advanced,GD32L233xxxx,比较器,使能输出)