繁体   English   中英

MpLab C,汇编,中断定义的冲突

[英]MpLab C, Assembly, Interrupt defined conflicts

我将一些新的C软件例程与现有的汇编语言一起放置。

我发现这些错误

    multiple definition of `_U1RXInterrupt'
    multiple definition of `_U2RXInterrupt'
    multiple definition of `_U3RXInterrupt'

我在哪里,何时,如何获得C编译器,以使我的汇编例程具​​有U1RXInterrupt U2RXInterrupt同上

更新,2013年3月13日

刚刚在C代码中发现了这一点。 这是我问题的根源吗? 如果我拿走这个,我的冲突会结束吗?

   //********************U1RX interrupt********************************//
   void __attribute__ ((interrupt, no_auto_psv)) _U1RXInterrupt(void) 
   {
    IFS0bits.U1RXIF = 0;
    U1Buf_RX=U1RXREG;
    //putcharUART2(U1Buf_RX);
   }

我希望我的汇编语言例程能够处理Uart 1

我猜我会为U2RXInterrupt(void)找到一个类似的处理程序

您只能为给定的中断定义一个子例程。 无论通过C代码或汇编程序定义ISR,它在您的应用程序中都必须是唯一的。

因此,如果要使用汇编程序ISR,则必须从C代码中删除另一个ISR,或者不将应用程序与带来它的对象或库链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM