tmod│=0x01 最右设为一 这样做有什么用呢 假如tmod为0x02 那么或0x01不就成0x03了?
追答2进制1位对应1条线,或1个事件。例如 1111 对应4条线
0x02 为 0010 3条线0,1条线 1
0x03 为 0011 它不影响 原来那条线的状态。
运行T0要求 最右1位开通,设 1。
tmod不是设置工作方式么
tmod最右一位不是m0吗 m0和m1不是用来设置定时器工作方式吗 为什么运行t0要求 最右一位开通?
TMOD|=0x01 就是 设 tmod最右一位 为 1。 原来是1,设后还是1,原来不是1 ,设置为1。
至于为何,我说不上来,应当是硬件要求吧。
tmod│=0x01 最右设为一 这样做有什么用呢 假如tmod为0x02 那么或0x01不就成0x03了?tmod不是用来设置定时器的工作方式吗
追答tmod是设定时模式,tmod已经在前一句通过&运算低变成0了,哪来的0x02?
追问第一句是高四位清零吧
追答哦,确实,
TMOD默认是0值,系统简单可以直接或值,复杂的常操作就像你说的,可以连低位一起清掉,防止意外。