高级会员
- 积分
- 579
- 威望
- 290
- 贡献
- 181
- 兑换币
- 171
- 注册时间
- 2015-7-10
- 在线时间
- 54 小时
- 毕业学校
- 万里学院
|
我现在只要初始化了 Init_L3G4200D函数中断就会运行到void default_isr(void)这个函数 这是为什么啊
void Init_L3G4200D(void)
{
i2c_write_reg(I2C1, L3G4200_Addr, CTRL_REG1,0x0b);
i2c_write_reg(I2C1, L3G4200_Addr, CTRL_REG2,0x00);
i2c_write_reg(I2C1, L3G4200_Addr, CTRL_REG3,0x08);
i2c_write_reg(I2C1, L3G4200_Addr, CTRL_REG4,0x30);//+-2000dps
i2c_write_reg(I2C1, L3G4200_Addr, CTRL_REG5,0x00);
}
/*!
* @BRIEF 默认中断服务函数
* @since v5.0
* @note 此函数写入中断向量表里,不需要用户执行
*/
void default_isr(void)
{
#ifdef DEBUG
#define VECTORNUM ((SCB_ICSR & SCB_ICSR_VECTACTIVE_MASK)>>SCB_ICSR_VECTACTIVE_SHIFT)
//等效于 (*(volatile uint8_t*)(0xE000ED04))
uint8 vtr = VECTORNUM;
led_init(LED1);
while(1)
{
led_turn(LED1);
DEBUG_PRINTF("\n****default_isr entered on vector %d*****\n\n%s Interrupt", vtr, vector_str[vtr]);
DELAY_MS(1000);
}
#else
return;
#endif
}
地址什么的都是沿用之前学长的 啊 求教各位大神指点下
|
|