在2300板子,带ucos,tcp的程序里添加另外的串口或者I2C程序出现比较怪的现象。调试用H-JTAG。 1.例如添加了串口驱动后,程序可以进入串口中断响应,但是一直在串口中断里出不来了,就是说不停的进出串口中断,别的程序不能执行了。 2.将我的串口响应程序如void Uart0Receive(void) { ...... } 现在写成:void __Uart0Receive(void) { ... } 上面唯一改动就是函数名字前加了下划线。程序就可以了。但是感觉怪怪的。
我看了下有关如void __irq Uart0Receive(void)的写法,加__irq和没有加是有区别的,加了就是函数本身可以告诉编译器这是中断函数,编程成中断函数,有堆栈的进出编译。没有加相反。然后有操作系统的程序,在startup.s里有中断的堆栈等操作,不需要加__irq。加的话是不对的。而现在的问题是在函数加下划线,搞不太清楚,怎么回事。相反加这个下划程序就能跑。。奇怪?? |