CH32V003F4P6 關(guān)于GPIO中斷問(wèn)題
????GPIO_InitTypeDef?GPIO_InitStructure?=?{0};
????EXTI_InitTypeDef?EXTI_InitStructure?=?{0};
????NVIC_InitTypeDef?NVIC_InitStructure?=?{0};

????RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO?|?RCC_APB2Periph_GPIOA?|?RCC_APB2Periph_GPIOC?|?RCC_APB2Periph_GPIOD,?ENABLE);

????/*?GPIOA?---->?EXTI_Line0?低水位??使用上升沿*/
????GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_2;
????GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IPU;
????GPIO_Init(GPIOA,?&GPIO_InitStructure);

????GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,?GPIO_PinSource2);
????EXTI_InitStructure.EXTI_Line?=?EXTI_Line2;
????EXTI_InitStructure.EXTI_Mode?=?EXTI_Mode_Interrupt;
????EXTI_InitStructure.EXTI_Trigger?=?EXTI_Trigger_Falling;
????EXTI_InitStructure.EXTI_LineCmd?=?ENABLE;
????EXTI_Init(&EXTI_InitStructure);

????/*?GPIOC?---->?EXTI_Line1?高水位?使用下降沿*/
????GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_0;
????GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IPU;
????GPIO_Init(GPIOC,?&GPIO_InitStructure);

????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);

????/*?GPIOD?---->?EXTI_Line0?低水位??使用上升沿*/
????GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_0;
????GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IPD;
????GPIO_Init(GPIOD,?&GPIO_InitStructure);

????/*GPIO_EXTILineConfig(GPIO_PortSourceGPIOD,?GPIO_PinSource0);
????EXTI_InitStructure.EXTI_Line?=?EXTI_Line0;
????EXTI_InitStructure.EXTI_Mode?=?EXTI_Mode_Interrupt;
????EXTI_InitStructure.EXTI_Trigger?=?EXTI_Trigger_Rising;
????EXTI_InitStructure.EXTI_LineCmd?=?ENABLE;
????EXTI_Init(&EXTI_InitStructure);*/

????NVIC_InitStructure.NVIC_IRQChannel?=?EXTI7_0_IRQn;
????NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority?=?0;
????NVIC_InitStructure.NVIC_IRQChannelSubPriority?=?1;
????NVIC_InitStructure.NVIC_IRQChannelCmd?=?ENABLE;
????NVIC_Init(&NVIC_InitStructure);

我用三個(gè)GPIO腳做中斷,有幾個(gè)問(wèn)題想要了解清楚,

第一、上面三個(gè)GPIO,GPIOA2 和 GPIOD0是可以有中斷反應(yīng)的,但是GPIOC0一直沒(méi)有,這是哪里出錯(cuò)了?

第二、關(guān)于EXTI_Linex,x是如何去定義的?是不是根據(jù)GPIO_EXTILineConfig里面參數(shù) GPIO_PinSourceX里面X去定?

上面兩個(gè)問(wèn)題我在你們官網(wǎng)上面和網(wǎng)絡(luò)上面搜不到合適的結(jié)果,希望能指導(dǎo)指導(dǎo)



熱門產(chǎn)品 : USB3.0 HUB控制器:CH634

您好,關(guān)于你的問(wèn)題:

1、PC0和PD0都是對(duì)應(yīng)的外部中斷0,兩個(gè)沖突,只能有一個(gè)生效,由于PD0是后初始化的,此處PD0生效。

2、x根據(jù)你所用的引腳數(shù)字標(biāo)號(hào)有關(guān),你用的是PA1或PB1,x就是1,用的是PA2,那么x就是2,以此類推。

后續(xù)若有問(wèn)題,可郵箱(lzs@wch.cn)溝通。


好的,謝謝


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频