初级会员

- 积分
- 175
- 金钱
- 175
- 注册时间
- 2016-5-25
- 在线时间
- 29 小时
|
10金钱
void PVD_Init(void) //IO3õê¼»ˉ
{
NVIC_InitTypeDef NVIC_InitStruct;
EXTI_InitTypeDef EXTI_InitStructure;
NVIC_InitStruct.NVIC_IRQChannel = PVD_IRQn;
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStruct.NVIC_IRQChannelSubPriority = 2;
NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStruct);//????
EXTI_ClearITPendingBit(EXTI_Line16);
EXTI_InitStructure.EXTI_Line = EXTI_Line16;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;//EXTI_Trigger_Falling ;//EXTI_Trigger_Rising;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
PWR_PVDLevelConfig(PWR_PVDLevel_2V5);
PWR_PVDCmd(ENABLE);
RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR, ENABLE); //_PWR, ENABLE); // ??????
}
void PVD_IRQHandler(void)
{
EXTI_ClearITPendingBit(EXTI_Line16);//ÇåÖD¶Ï
if (EXTI_GetITStatus(EXTI_Line16) != RESET)
{
USART_SendData(USART1, 0xaa);
USART_SendData(USART1, 0xab);
USART_SendData(USART1, 0xac);
USART_SendData(USART1, 0xad);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET);
}
}
下面是main函数
int main(void)
{
SystemInit(); //Ïμí3ê±ÖóéèÖÃ
delay_init(72); //Ñóê±3õê¼»ˉ
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //éèÖÃNVICÖD¶Ï·Ö×é2:2λÇàÕ¼óÅÏè¼¶£¬2λÏìó|óÅÏè¼¶
LED_Init(); //3õê¼»ˉóëLEDᬽóμÄó2¼t½ó¿ú
RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR, ENABLE); //_PWR, ENABLE);
PWR_PVDLevelConfig(PWR_PVDLevel_2V5);
PWR_PVDCmd(ENABLE);
PVD_Init(); //3õê¼»ˉóë°′¼üᬽóμÄó2¼t½ó¿ú
USART1_Config(9600);
while(1)
{
;
}
}
拔了电源之后怎么就进不去中断呢?
|
|