智能车制作

标题: (volatile uint8*)(0xE000ED04)这是谁的地址(LPLD例程) [打印本页]

作者: m__dd    时间: 2013-3-18 19:42
标题: (volatile uint8*)(0xE000ED04)这是谁的地址(LPLD例程)
本帖最后由 m__dd 于 2013-3-18 19:49 编辑

下面是LPLD的GPIO中断服务程序:
int isr_num = 0;
void LPLD_GPIO_Isr(void)
{
  #define GPIO_VECTORNUM   (*(volatile uint8*)(0xE000ED04))
  uint8 gpio_port = GPIO_VECTORNUM - 103;
   isr_num = gpio_port; //+++测试用
  //调用用户自定义中断服务
  GPIO_ISR[gpio_port]();  
  
  //清除中断标志位
  PORT_ISFR_REG((PORT_MemMapPtr)((0x40049+gpio_port)<<12))=0xFFFFFFFF;
}
本人想用PTC2检测行中断,PTC4检测场中断,需要分析中断标志位
PORTC中断标志位绝对地址4004B000H+A0H,通过窗口查看isr_num=2,经计算0x40049+gpio_port)<<12的确等于4004B000H+A0H,但0xE000ED04这是谁的地址啊?
另外问一下:行场中断用一个中断源可以吗?(摄像头组)


作者: m__dd    时间: 2013-3-18 19:54
是不是存储当前的中断号?
作者: 洋葱圈    时间: 2013-3-18 20:15
m__dd 发表于 2013-3-18 19:54
是不是存储当前的中断号?

是的

作者: m__dd    时间: 2013-3-18 20:41
洋葱圈 发表于 2013-3-18 20:15
是的

有文档吗?那个一千多页的技术手册找不到,想仔细看看,总感觉不放心!
作者: 三叶草502    时间: 2013-12-6 11:14
怎么查看到当前中断好的地址呢?
作者: m__dd    时间: 2013-12-6 11:56
三叶草502 发表于 2013-12-6 11:14
怎么查看到当前中断好的地址呢?

我语文不好,说清楚点呗!

作者: 三叶草502    时间: 2013-12-6 16:02
额,打错了,是当前中断号的地址
作者: m__dd    时间: 2013-12-7 12:50
0xE000ED04 就是当前中断号的地址;
#define GPIO_VECTORNUM   (*(volatile uint8*)(0xE000ED04))
uint8 gpio_port = GPIO_VECTORNUM;//得到当前中断号




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2