主题:etr100中0x1c中断的问题

  共有30135人关注过本帖    
ke
1楼


etr100中0x1c中断的问题  发帖心情 Post By:2004-8-24 17:51:00   [只看该作者]

etr100系统,在0x1c中断里做了一些事情,程序一跑就死。估计是我的Isr写的有问题,请问,0x1c中断服务程序应该怎样写

  单帖管理 | 引用 | 回复 回到顶部
x10
2楼


  发帖心情 Post By:2004-8-24 18:40:00   [只看该作者]

一般说来,在中断程序中不要使用runtime库如printf(...)等,这样很容易使DOS调用重入而造成程序crush。中断程序主要是对数据、变量进行必要操作,如counter++;由上层程序根据数据状态再进行显示、存盘等操作。

  单帖管理 | 引用 | 回复 回到顶部
ke
3楼


  发帖心情 Post By:2004-8-25 8:47:00   [只看该作者]

我在中断里调用了一些WriteByte(..)之类的函数,用于向图形模式的显示屏写东西;另有几句getTime(),getDate()等。有无问题呢?

  单帖管理 | 引用 | 回复 回到顶部
ke
4楼


  发帖心情 Post By:2004-8-25 8:57:00   [只看该作者]

补问:我的WriteByte(..)等最终是调用一堆outportb(),也属于runtime的函数吗,能不能在中断里调?

  单帖管理 | 引用 | 回复 回到顶部
zhl
5楼


  发帖心情 Post By:2004-8-25 9:15:00   [只看该作者]

outporb( )直接操作的是硬件端口,可以在ISR中调用,而gettime( )和getdate( )属于系统runtime库函数调用,最好不要在你的ISR程序中调用。

  单帖管理 | 引用 | 回复 回到顶部

返回首页

etr100中0x1c中断的问题

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: