ENC28j60+单片机 中断出问题了

2020-02-05 09:13发布

本帖最后由 onbluesun 于 2012-5-31 17:45 编辑

我在原本ENC28j60的驱动的MAIN中加了如下代码:
  1. unsigned char dsa1=50;
  2. extern void dsinit()
  3. {
  4. TMOD=0x01;
  5. TH0=0x70;
  6. TL0=0x00;
  7. ET0=1;
  8. EA=1;
  9. TR0=1;
  10. }
  11. void dstime() interrupt 1
  12. {
  13. TH0=0x70;
  14. TL0=0x00;
  15. dsa1--;
  16. if(dsa1==0)
  17. {
  18. l1=~l1;
  19. dsa1=50;
  20. }
  21. }
复制代码再在main里面调用子程序,但是中断却出问题了,l1不会高低电平转换,也就是说中断程序出问题了。经过我进一步排查,发现unsigned char dsa1=50;没有生效,dsa1的值在执行中断函数时变成了8。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。