问答

汇集网友智慧,解决技术难题

礦ision5

TA的家园币:52  

  • 关于NUC029的GPIO中断消抖功能的疑惑,求解答

    关于NUC029的GPIO中断消抖功能的疑惑,求解答NUC029中,GPIO有一个中断去抖功能。在“中断去抖周期控制(DBNCECON)”这个寄存器中需要配置采样周期。图片好像发不了,只能复制文字。该寄存器的DBCLKSEL位描述如下:去抖动采样周期选择0000=每1个时钟周期采样中断输入一次.0001=每2个时钟周期采样中断输入一次.0010=每4个时钟周期采样中断输入一次.0011=每8个时钟周期采样中断输入一次.0100=每16个时钟周期采样中断输入一次.0101=每32个时钟周期采样中断输入一次.0110=每64个时钟周期采样中断输入一次.0111=每128个时钟周期采样中断输入一次.1000=每256个时钟周期采样中断输入一次.1001=每2*256个时钟周期采样中断输入一次.1010=每4*256个时钟周期采样中断输入一次.1011=每8*256个时钟周期采样中断输入一次.1100=每16*256个时钟周期采样中断输入一次.1101=每32*256个时钟周期采样中断输入一次.我对GPIO中断去抖功能的理解是:在GPIO边沿触发中断时,在经过DBCLKSEL位配置的采样周期后再进行一次检测,然后再判断是否进入中断处理函数,这个过程由硬件完成。我想知道GPIO中断去抖功能是不是我理解的这样。不对的话,希望大佬指正下。

  • [APM32F030R8][求助]关于USART使能后直接进入空闲中断

    板子用的是APM32F030R8MINIBoard给USART配置空闲中断,USART使能后就会进入一次空闲中断。代码如下:intmain(void){GPIO_Config_TgpioConfig;USART_Config_TusartConfigStruct;RCM_EnableAHBPeriphClock(MINI_COM1_RX_GPIO_CLK);RCM_EnableAPB2PeriphClock(MINI_COM1_CLK);//GPIO_ConfigPinAF(MINI_COM1_TX_GPIO_PORT,MINI_COM1_TX_SOURCE,MINI_COM1_TX_AF);GPIO_ConfigPinAF(MINI_COM1_RX_GPIO_PORT,MINI_COM1_RX_SOURCE,MINI_COM1_RX_AF);gpioConfig.mode=GPIO_MODE_AF;//gpioConfig.pin=MINI_COM1_TX_PIN;gpioConfig.speed=GPIO_SPEED_50MHz;gpioConfig.outtype=GPIO_OUT_TYPE_PP;gpioConfig.pupd=GPIO_PUPD_PU;//GPIO_Config(MINI_COM1_TX_GPIO_PORT,&gpioConfig);gpioConfig.pin=MINI_COM1_RX_PIN;GPIO_Config(MINI_COM1_RX_GPIO_PORT,&gpioConfig);usartConfigStruct.baudRate=110;usartConfigStruct.mode=USART_MODE_RX;usartConfigStruct.hardwareFlowCtrl=USART_FLOW_CTRL_NONE;usartConfigStruct.parity=USART_PARITY_NONE;usartConfigStruct.stopBits=USART_STOP_BIT_1;usartConfigStruct.wordLength=USART_WORD_LEN_8B;USART_Config(MINI_COM1,&usartConfigStruct);NVIC_EnableIRQRequest(MINI_COM1_IRQn,2);USART_Enable(MINI_COM1);//Delay(0xfff);Delay(0xfffffff);USART_EnableInterrupt(MINI_COM1,USART_INT_IDLEIE);while(1){}}CSDN上找到一篇是说USART使能发送功能会发送一个空闲帧,解决方法是使能串口,延迟一会再使能空闲中断。但那篇文章中用的是STM32,而且是自收发。我用APM32禁用USART发送功能再使能后还是会进入空闲中断。原因应该不是CSDN那篇文章里的,但用延迟确实能解决,就是延迟的时间要设置的很大。CSDN文章链接:https://blog.csdn.net/weixin_38106263/article/details/129234153?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171705336916800186593920%2522%252C%2522