本文目录一览

1,STM32的AFIO时钟什么时候需要开启

STM32 目前都10个系列了。只有STM32F1系列单提这个AFIO时钟。在涉及到EXTI/管脚REMAP时就需要开启AFIO时钟。

STM32的AFIO时钟什么时候需要开启

2,AFIO时钟与GPIO时钟需要同时开启吗

看你程序里是不是别的函数开启了GPIO时钟
串口通信一般使用中断实现,级别比定时器的中断要高,所以通信过程中某些时刻定时器没能进入中断程序刷新。

AFIO时钟与GPIO时钟需要同时开启吗

3,stm32的afio什么时候要开启

当使用引脚的复用功能时,需要开启。具体的功能复用你可以查看技术手册,每个引脚的主功能和复用功能是什么。
stm32 目前都10个系列了。只有stm32f1系列单提这个afio时钟。在涉及到exti/管脚remap时就需要开启afio时钟。

stm32的afio什么时候要开启

4,STM32里AFIO是不是重映射时钟只要重映射就必须开启正常复

配置stm32的事件输出/外部中断/重映射的时候.就必须开启AFIO时钟.管脚的默认外设功能并不需要开AFIO时钟
虽然你打开了复用功能,但是你io口可以不去配置成第二功能,但如果你要用第二功能你就必须打开复用功能;就像一扇上了锁的门,你要进去就必须开锁,但是你开锁了可以不进去

5,AFIOMAPR怎么理解

拿灰姑娘
这函数实际是完成afio->mapr寄存器的配置,我就是嫌这代码写的太烦了,所以直接对寄存器进行操作。比如将串口2重映射时,就是:afio->mapr|=gpio_remap_usart2;要取消重映射,就是:afio->mapr&=~gpio_remap_usart2;gpio_remap_usart2在stm32f10x_gpio.h中是有定义的,afio->mapr寄存器各个位的定义在参考手册中有详细描述。

6,stm32 如果我把AFIO的寄存器都设置为PA口作为中断输入脚

那么如果我使能exti5—9 是不是PA5——PA9 都是中断输入脚?-------- 这个不是这样的。PA5 - PA9具体是哪一个脚为中断输入引脚由你自己配置,但是他们在NVIC里面共用一个资源:EXTI9_5_IRQn。这里算是ST省点事吧,不过你能够在一个项目中把这些中断都用上了那也够牛逼了。如果PA5——9我只用其中的一个管脚作为中断输入的话,那么其他四个还能不能当做普通的IO口用了?-------- 其他的四个管脚可以当作普通的IO口使用。给你个例子:void EXTI6_Config(void)EXTI_InitTypeDef EXTI_InitStructure;GPIO_InitTypeDef GPIO_InitStructure;NVIC_InitTypeDef NVIC_InitStructure; /* Enable GPIOA clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); /* Configure PA.00 pin as input floating */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOB, &GPIO_InitStructure); /* Enable AFIO clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); /* Connect EXTI0 Line to PA.00 pin */ GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource6); /* Configure EXTI0 line */ EXTI_InitStructure.EXTI_Line = EXTI_Line6; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); /* Enable and set EXTI0 Interrupt to the lowest priority */ NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x00; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);}
我不会~~~但还是要微笑~~~:)

文章TAG:stm32  时钟  什么  什么时候  afio  
下一篇