十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
问题1,EXTI0~EXTI15每个对应于一组(PA,PB,PC,PD..)1,在用外部中断的时候如用EXTI4(外部中断4)需要配置PA4还是PB4...这几组io口的第四个管脚作为输入,只能选择一个。
成都网站建设公司创新互联,成都网站设计制作,有大型网站制作公司丰富经验。已为成都上1000+提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的成都做网站的公司定做!
问题2,void EXTI_Configuration(void) 中断初始化函数
EXTI_InitTypeDef EXTI_InitStructure; 定义EXTI_InitStructure为中断配置的结构体,然后对结构体内容进行配置之后初始化外部中断。
问题3,你要用什么加什么外设,外设的函数库都是以头文件的格式加入(.h)文件,编译的时候编译器搜索加入的头文件包含的内容,有就编译没有用到的不编译进去,你说的情况之后再加入主函数里面多余的子函数才报错。
有问题可以补充。
不是SDK吧 应该是MDK
void EXTI4_IRQHandler(void)//外部中断4
{
if(EXTI_GetITStatus(EXTI_Line4)!= RESET){//发生了中断
EXTI_ClearITPendingBit(EXTI_Line4);//清除中断标志位
if(Ledflag == 0){
Ledflag = 1;//LED标志取反
GPIOC-ODR |= 0X00000080;//GPIOC7输出高电平
}
else{
Ledflag = 0; //LED标志取反
GPIOC-ODR = 0XFFFFFF7F;//GPIOC7输出低电平
}
}
}
两个中断的处理函数不一定分别在两个子函数中写。如果两个中断没共用一个中断号,就是分开写,如果共用了中断号,就只写一个。
LED1=!LED1;这就是一条单片机一个引脚状态取反操作的语句,很简单的操作,编译后就是一条汇编指令,根本不需要什么函数。其实,在单片机中每一个引脚都是按一个位操作的,所以,就是一条位操作指令,也没有这种库函数。