导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→菜鸟求助:关于KEILC51编写中断服务程序中出现的问题[lyp_hncs]

 *第28469篇: 菜鸟求助:关于KEILC51编写中断服务程序中出现的问题

  
楼 主:lyp_hncs 2004年12月17日15:29
 菜鸟求助:关于KEILC51编写中断服务程序中出现的问题
菜鸟求助:关于keilc51编写中断服务程序中出现的问题 
小弟最近开始接触并学习keilc51,参照软件中提供的
#ifdef bootp_tftpclient
/* for boot code */
void sys_timer0_isr(void) using 1
#else
/* for user program */
void sys_timer0_isr(void) interrupt 1 using 1
#endif
{。。。。}

自己编写了关于串口的中断程序  :
   void sys_rs232_isr(void) interrupt 4 using 0{。。。。}
 但在编译的时候却发现提示warning: interrupt function in banks not allowed
                                      symbol:  sys_rs232_isr
                                      space:    bank2

再查看编译后的asm,发现在0x0023处有一条ljmp转跳至 mov dptr,#sys_rs232;
                                                   ajmp b_bank2
注:程序将xdata(64k),分成8个bank,即为8x8(k)。我不知道是中断程序不能放在bank中,还是其他的什么含义?
不知该怎么修改是服务程序的位置有误还是别的原因,苦于周围没有人可以指点,请各位大虾指教!! 

  
2楼:guest 2004年12月17日23:21
 中断程序放在第一个BANK里面的吧
具体我也不太清楚,但是我用的HOTEL的是这样的啊,


  
3楼:lyp_hncs 2004年12月18日17:08
 谢谢你的答复,但是BANK中内容的分配我
谢谢你的答复,但是BANK中内容的分配我也不能去控制它呀

>>>>>>对该主题发表你的看法

本主题贴数3,分页: [第1页]


[上一篇主题]:W78e516 isp应用

[下一篇主题]:MPC860/850嵌入式系统开发入门与指导