實(shí)際設(shè)計(jì)中使用GPIOC端口上拉和推挽出現(xiàn)問(wèn)題,所以使用開(kāi)發(fā)板驗(yàn)證。
1.GPIOC 0/1 中斷設(shè)置,使用CH32F&V208W-R0-1v4開(kāi)發(fā)板測(cè)試,兩塊板驗(yàn)證同一代碼。
? ? 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 );
以上設(shè)置在端口浮空的情況下,EXTI0會(huì)連續(xù)觸發(fā)中斷,判斷端口內(nèi)部上拉不起作用,外部加上拉電阻后工作正常。請(qǐng)問(wèn)F208 GPIOC 端口上拉或者下拉是否還需要其他的設(shè)置?,目前只測(cè)試了0,1端口,其他端口是否存在類(lèi)似問(wèn)題呢?
2. GPIOC 0/1 輸出推挽問(wèn)題,使用CH32F&V208W-R0-1v4開(kāi)發(fā)板測(cè)試,兩塊板驗(yàn)證同一代碼。
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例程不能點(diǎn)亮LED燈,而使用例程原有的GPIOA 0則沒(méi)有問(wèn)題。
問(wèn)題:上述GPIOC 端口的上拉和推挽問(wèn)題是否屬于正常?或者需要額外的軟件設(shè)置。
如果屬于正常問(wèn)題,手冊(cè)哪個(gè)部分有說(shuō)明。是否還有其他端口有類(lèi)似問(wèn)題,望解答,謝謝!