初级会员

- 积分
- 113
- 金钱
- 113
- 注册时间
- 2019-8-9
- 在线时间
- 48 小时
|
发表于 2020-2-1 17:00:13
|
显示全部楼层
这个就是,但是代码我给改,一中断配置哪有点搞不清
源码,忘了在哪里找的,有点乱对不号
主要,三个中断口
我看看能用上了,随带告诉 我一下,哪个地方是不是我给改IO少了,
#include "exti.h"
#include "ec11.h"
#include "delay.h"
#include "usart.h"
u8 shu=0;
//ía2¿ÖD¶Ï3õê¼»ˉ3ìDò
//3õê¼»ˉPA0,PA13,PA15ÎaÖD¶Ïêäèë.
//ía2¿ÖD¶Ï3õê¼»ˉ3ìDò
void EXTIX_Init(void)
{
EXTI_InitTypeDef EXTI_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//ía2¿ÖD¶Ïè«ÄüAFIOê±Öó
/************************3õê¼»ˉ°′¼üIOÄ£ê½*ÕaàïoüÖØòa**********************/
/************************ÔúÕaàïEC11.CÎļt¶¨òåía2¿òy½Å½ó¿ú**********************/
/************************ÔúÕaàïEC11.HÎļto궨òåáËòy½Åμıäá¿Ãû×Ö¡£¿éòÔÔúEC11.HÎļtÖD¸ü¸Ä**********************/
knob_init();
/************* ************************************/
//GPIOA6 ÖD¶ÏÏß¼°ÖD¶Ï3õê¼»ˉÅäÖÃ
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource6);
EXTI_InitStructure.EXTI_Line=EXTI_Line6;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;//éÏÑØ′¥·¢
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure); //¸ù¾YEXTI_InitStruct2Îêy3õê¼»ˉEXTI¼Ä′æÆ÷
/***在这里怎么就一个IO的配置,我记的我没动过当初怎么运行的,我现在硬件作别的没法测试,*///////////////////
NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; ///ê1Äü°′¼üËùÔúμÄía2¿ÖD¶Ïí¨μà
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //ÏèÕ¼óÅÏè¼¶4λ,1216¼¶
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; //ÏèÕ¼óÅÏè¼¶0λ,′óóÅÏè¼¶4Î
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //ê1Äüía2¿ÖD¶Ïí¨μà
NVIC_Init(&NVIC_InitStructure);
}
//ÖD¶Ï·tÎñoˉêy
void EXTI9_5_IRQHandler(void)
{
delay_ms(1); //*************Ñóê±ÖØòa±ØDëÑóê±*******************
if(kongzhi1_io==1)
{
if(kongzhi2_io == 1)
{
shu++;
if(shu >100)shu=100;
printf(" %d \r\n",shu);//′®¿úêä3ö
delay_ms(10);
}else{
shu--;
if(shu <1)shu=0;
printf(" %d \r\n",shu);//′®¿úêä3ö
}
}
EXTI_ClearITPendingBit(EXTI_Line6); //Çå3yLINE6±êÖ¾Ïà
}
|
|