为什么ADXL345加速度传感器活动中断无法进中断

2019-07-21 07:44发布

[mw_shl_code=c,true]u8 ADXL345_Init(void) { IIC_Init(); //初始化IIC总线 if(ADXL345_RD_Reg(DEVICE_ID)==0XE5) //读取器件ID { ADXL345_WR_Reg(DATA_FORMAT,0X2B); //低电平中断输出,13位全分辨率,输出数据右对齐,16g量程 ADXL345_WR_Reg(BW_RATE,0x0A); //数据输出速度为100Hz ADXL345_WR_Reg(POWER_CTL,0x28); //链接使能,测量模式 /* ADXL345_WR_Reg(THRESH_TAP,0x10); //设置冲击阈值 1g ADXL345_WR_Reg(DUR,0xFF); //时间范围 ADXL345_WR_Reg(Latent,0x00); //禁止双击功能 ADXL345_WR_Reg(TAP_AXES,0x01); //使能Z轴敲击 ADXL345_WR_Reg(INT_ENABLE,0x40); //使用单次冲击中断 ADXL345_WR_Reg(INT_MAP,0x00); //中断映射到INT1 */ ADXL345_WR_Reg(THRESH_ACK,0x10); // 设置活动阈值 1g ADXL345_WR_Reg(ACT_INACT_CTL,0x10); // 使能活动Z轴直流耦合 ADXL345_WR_Reg(INT_MAP,0xEF); //中断映射到INT1 ADXL345_WR_Reg(INT_ENABLE,0x10); //使用活动中断 ADXL345_WR_Reg(OFSX,0x00); ADXL345_WR_Reg(OFSY,0x00); ADXL345_WR_Reg(OFSZ,0x00); return 0; } return 1; } void EXTIX_Init(void) { EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF,ENABLE);//使能PORTF时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;//PF11 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入 GPIO_Init(GPIOF, &GPIO_InitStructure); KEY_Init(); // 按键端口初始化 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); //使能复用功能时钟 GPIO_EXTILineConfig(GPIO_PortSourceGPIOF,GPIO_PinSource11); EXTI_InitStructure.EXTI_Line=EXTI_Line11; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //下升沿触发 EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器 NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //抢占优先级2, NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x03; //子优先级3 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道 NVIC_Init(&NVIC_InitStructure); } //外部中断0服务程序 void EXTI15_10_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line11)==SET)//是11线的中断 { LED1=!LED1; LCD_ShowString(60,290,200,16,16,"ZhongDuan"); } EXTI_ClearITPendingBit(EXTI_Line11); } [/mw_shl_code] 在战舰开发版基础上改的活动中断,为什么触发不了呢?是不是ADXL345初始化哪里有什么问题?球大神讲解下。这个问题网上很多人都在问,一直没人解答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
正点原子
1楼-- · 2019-07-22 01:33
回复【7楼】名侦探:
---------------------------------
你轻轻的放试试。
名侦探
2楼-- · 2019-07-22 07:11
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-07-22 08:27
回复【9楼】名侦探:
---------------------------------
stm32原
4楼-- · 2019-07-22 09:59
楼主能发份你改好的代码给我吗,我最近也在弄这个,谢谢,1163548340@qq.com

一周热门 更多>