380091044 发表于 2023-11-27 15:12:22

IE2 = ET3; //使能定时器中断???

本帖最后由 380091044 于 2023-11-27 21:34 编辑

    IE2 = ET3;    //使能定时器中断

ET3不是IE2的一个位吗?怎么可以这样直接赋值???

gentleman 发表于 2023-11-27 16:11:47

应该是#define

你跳进去看一下

神农鼎 发表于 2023-11-27 21:24:45

以后问问题,将来龙去脉写清楚


从哪来的,你编译下可以吗 ?

如从库函数来,那就写明这个库函数从哪来的,将完整的部分程序贴出来,
大家就好帮忙了,否则猜,累

380091044 发表于 2023-11-27 21:33:16

神农鼎 发表于 2023-11-27 21:24
以后问问题,将来龙去脉写清楚




感谢提醒,这个是库里面也有的,手册里面也见到了

神农鼎 发表于 2023-11-27 21:44:31

380091044 发表于 2023-11-27 21:33
感谢提醒,这个是库里面也有的,手册里面也见到了

你可能是库的数据手册,STC8H芯片手册没这个
你把完整的贴上来,就是工程师的做法

380091044 发表于 2023-11-27 21:49:58

神农鼎 发表于 2023-11-27 21:44
你可能是库的数据手册,STC8H芯片手册没这个
你把完整的贴上来,就是工程师的做法
...

有的

神农鼎 发表于 2023-11-28 09:29:58

//看到你贴的图了:

#include "reg51.h"
#include "intrins.h"

sfr   T4T3M   =   0xd1;
sfr   T4L   =   0xd3;
sfr   T4H   =   0xd2;
sfr   T3L   =   0xd5;
sfr   T3H   =   0xd4;
sfr   T2L   =   0xd7;
sfr   T2H   =   0xd6;
sfr   AUXR    =   0x8e;
sfr   IE2   =   0xaf;
#define ET2         0x04
#define ET3         0x20
#define ET4         0x40
sfr   AUXINTIF =0xef;
#define T2IF      0x01
#define T3IF      0x02
#define T4IF      0x04


sfr   P1M1    =   0x91;
sfr   P1M0    =   0x92;
sfr   P0M1    =   0x93;
sfr   P0M0    =   0x94;
sfr   P2M1    =   0x95;
sfr   P2M0    =   0x96;
sfr   P3M1    =   0xb1;
sfr   P3M0    =   0xb2;
sfr   P4M1    =   0xb3;
sfr   P4M0    =   0xb4;
sfr   P5M1    =   0xc9;
sfr   P5M0    =   0xca;


sbit    P10   =   P1^0;


void TM3_Isr() interrupt 19
{
    P10 = !P10;                                 //测试端口
}


void main()
{
    P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
    P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;


    T3L = 0x66;                                 //65536-11.0592M/12/1000
    T3H = 0xfc;
    T4T3M = 0x08;                               //启动定时器
    IE2 = ET3;                                  //使能定时器中断
    EA = 1;


    while (1);
}






神农鼎 发表于 2023-11-28 09:33:20

#define ET2         0x04

380091044 发表于 2023-11-28 10:15:06

神农鼎 发表于 2023-11-28 09:33
#define ET2         0x04

是ET3值等于0x20,把IE2的位5置1,不是ET2

_奶咖君_ 发表于 2023-12-11 18:01:20

之前踩过这个 范例程序的坑,,太相信这个程序了,,后来在写用范例程序的时候,还是要过一边代码。这个范例程序作为测试还行,进入到生产的时候还是要多看看。
页: [1] 2 3
查看完整版本: IE2 = ET3; //使能定时器中断???