标题: 有关MCU定时器中断的问题,求大神告知,谢谢! [打印本页]

作者: 永恒动力    时间: 2021-4-8 15:59
标题: 有关MCU定时器中断的问题,求大神告知,谢谢!
p0.2连接一个LED,通过定时器0 (Timero),使其点亮1s,熄灭1s。
/*中断服务程序*/
  if(IO0PIN&LED_ON==0)
  IO0SET=LED_ON;
else IO0CLR=LED_ON;
  这三句代码,不明白!因为本题也没有电路图,怎么知道是用高电平点亮,还是低电平点亮了 ?
第一句代码,是啥意思,有啥作用了 ?求大神告知,谢谢你!


作者: MOVEORDIE    时间: 2021-4-9 16:28
if(IO0PIN&LED_ON==0)   //如果IO0PIN和LED_ON相与等于0
  IO0SET=LED_ON;   //IO0SET等于LED_ON,(把LED_ON的值赋给IO0SET)
else IO0CLR=LED_ON;   //如果IO0PIN和LED_ON相与不为0,则IO0CLR等于LED_ON。
这是很常见的if else语句
LED灯是高电平点亮还是低电平点亮要看你的硬件连接,硬件通常是固定的,软件可以更改的。
作者: ANT1987    时间: 2021-4-10 10:24
&运算两个对应二进制位都为1时结果才为1, if(IO0PIN&LED_ON==0)括号内LED_ON=0的时候 IO0PIN&LED_ON=0
所以
if(IO0PIN&LED_ON==0)
  IO0SET=LED_ON;
else IO0CLR=LED_ON;
意思是LED_ON=1的时候 else IO0CLR=LED_ON;//CLR(清除)IO
          LED_ON=0的时候 IO0SET=LED_ON;//SET(置位)IO




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1