实际设计中使用GPIOC端口上拉和推挽出现问题,所以使用开发板验证。
1.GPIOC 0/1 中断设置,使用CH32F&V208W-R0-1v4开发板测试,两块板验证同一代码。
GPIO_InitTypeDef GPIO_InitStructure= {0};
EXTI_InitTypeDefEXTI_InitStructure= {0};
NVIC_InitTypeDefNVIC_InitStructure= {0};
RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOC, ENABLE );
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;
GPIO_Init( GPIOC, &GPIO_InitStructure );
/* GPIOC ----> EXTI_Line0 */
GPIO_EXTILineConfig( GPIO_PortSourceGPIOC, GPIO_PinSource0);
EXTI_InitStructure.EXTI_Line=EXTI_Line0;
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init( &EXTI_InitStructure );
NVIC_InitStructure.NVIC_IRQChannel=EXTI0_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=2;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init( &NVIC_InitStructure );
以上设置在端口浮空的情况下,EXTI0会连续触发中断,判断端口内部上拉不起作用,外部加上拉电阻后工作正常。请问F208 GPIOC 端口上拉或者下拉是否还需要其他的设置?,目前只测试了0,1端口,其他端口是否存在类似问题呢?
2. GPIOC 0/1 输出推挽问题,使用CH32F&V208W-R0-1v4开发板测试,两块板验证同一代码。
voidGPIO_Toggle_INIT( void )
{
GPIO_InitTypeDef GPIO_InitStructure= {0};
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE );
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init( GPIOC, &GPIO_InitStructure );
}
使用GPIO_Toggle例程不能点亮LED灯,而使用例程原有的GPIOA 0则没有问题。
问题:上述GPIOC 端口的上拉和推挽问题是否属于正常?或者需要额外的软件设置。
如果属于正常问题,手册哪个部分有说明。是否还有其他端口有类似问题,望解答,谢谢!