主题最新回顾(发布时间:2006-1-16 17:16:00) |
---|
-- 作者:x10(0.0.*.*)
-- 在中断程序中不能调用DOS的系统函数,gettime()就是其中之一,否则会造成系统重入而死机。 想得到中断时刻更精确的时间需要做以下工作: (1)读取系统当前tick值       disable( );      unsigned long currtick = (unsigned long)(0x0040006CL);      enable( );      每个tick = 54.9255ms (2)读取系统timer0当前值      unsigned int currcnt = ReadTimer0();  //在ETR100.H中有      每个计数值 = 0.875us 然后在主程序中再把上述值转换成时间。 good luck! |
主题最新回顾(发布时间:2006-1-16 11:22:00) |
---|
-- 作者:立搏得(0.0.*.*)
-- 关于IRQ7中断 我们用Etr100在写IRQ7中断服务程序的时候,老是一中断就死机,里面用到了gettime函数,只要将gettime调用屏蔽,好象就不死了,但在主程序中未用该函数。     为保证取得中断时间的实时性,gettime又不能屏蔽,应该如何解决呢,另外gettime取得的时间只能精确到0.01秒,能否有其他办法使获取的时间精度更高。     急求解答,谢谢! |