新手问题,S3C2440通过SPI0与MCP2515(CAN控制器)连接,做驱动程序的时候对中断有些迷惑了。
下面是对SPI0初始化时执行的代码:
UINT32 SPI_Intr;
UINT32 SPI_irq = IRQ_SPI0;
KernelIoControl(
IOCTL_HAL_REQUEST_SYSINTR,
&SPI_irq,
sizeof(UINT32),
&SPI_Intr,
sizeof(UINT32),
NULL));
对MCP2515初始化也应该有这样的语句啊!
UINT32 CAN_Intr;
UINT32 CAN_irq = XXX;
KernelIoControl(
IOCTL_HAL_REQUEST_SYSINTR,
&CAN_irq,
sizeof(UINT32),
&CAN_Intr,
sizeof(UINT32),
NULL));
问题:MCP2515接到SPI0上的,这里的CAN_irq如何赋值啊?
你的这个CAN_irq是什么?MCP2515芯片的中断还是MCP2515给2440的中断?如果是给2440的中断它连哪个中断就送给它哪个。
CAN_irq是MCP2515给2440的,MCP2515的INT脚连接到2440的GPG3上了,GPG3对应那个irq啊