关于c430中断程序的格式[移植旧程序时需要注意了]

楼主
关于c430中断程序的格式[移植旧程序时需要注意了]
以前也遇到过这个问题,那时候正忙着毕业,解决了也就忘记了。现在又遇到这个问题,想说两句。
在魏小龙编的那本400多页的书上给出的中断程序格式是
interrupt[PORT1_VECTOR] void port1key(void)
{
……
……
}在书中234页


430 C指南.pdf 中的说法是
Interrupt [0 18] void UART-handler (void)
{
if (TCCTL&4)
receive ( );
else
transmit ( );
}
矢量地址在本例中为0 18 是对于INTVEC 段0 FFE0 的偏移此例将
把矢量置于0 FFF8 单元

但在我用的   EW430_310 正式破解版  的帮助文件 EW430_CompilerReference.pdf中给出的格式是

#pragma vector=0x14
__interrupt void my_interrupt_routine()
{
/* Do something */
}
在第36页。
只有按照帮助文件中的格式才可以编译,那书上的说法从何而来呢?就一个格式的问题整得我两天吃不香睡不好[EM12]
1楼
  书上的说法应该是以前的版本,就照着现在的做法做就行了。
2楼
#pragma vector=0x14
__interrupt void my_interrupt_routine()
{
/* Do something */
}
这种方式是现在编译器支持的,魏书上的是以前版本的格式
3楼
没有那本书啊
4楼
我一开始也存在这个问题,不过看了一下帮助文件和头文件,就明白怎么用了。
二种格式应该是版本问题。。
5楼

电脑版 Page created in 0.1094 seconds width 2 queries.