[ZLG-ARM] 这个具体怎么用 LED 1<<16

[复制链接]
 楼主| duck_2008 发表于 2007-1-16 22:34 | 显示全部楼层 |阅读模式
看到周立功给的C程序里经常出现这个,比如GPIO有很多个口。这个到底表示哪个口呢?还是要先初始化才能确定。望高手详细指点。
computer00 发表于 2007-1-16 23:27 | 显示全部楼层

这只能表示是第几位,而不能表示是哪个口的

所以我经常另外再定义宏,例如:<br /><br />/*<br />&nbsp;&nbsp;LED.H&nbsp;file<br />&nbsp;&nbsp;LED基本操作——开LED,关LED<br />&nbsp;&nbsp;作者:Computer-lov<br />&nbsp;&nbsp;建立日期:2006-3-19<br />&nbsp;&nbsp;修改日期:2006-4-25<br />&nbsp;&nbsp;最后修改时间:2006-08-25<br />&nbsp;&nbsp;版本:V1.0<br />&nbsp;&nbsp;版权所有,盗版必究。<br />&nbsp;&nbsp;Copyright(C)&nbsp;Computer-lov&nbsp;2006-2016<br />&nbsp;&nbsp;All&nbsp;rights&nbsp;reserved<br />*/<br /><br />#ifndef&nbsp;__LED_H__<br />#define&nbsp;__LED_H__<br /><br />#define&nbsp;LED1&nbsp;&nbsp;&nbsp;&nbsp;18&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//P1.18<br />#define&nbsp;LED2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;19&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//P1.19<br />#define&nbsp;LED3&nbsp;&nbsp;&nbsp;&nbsp;20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//P1.20<br />#define&nbsp;LED4&nbsp;&nbsp;&nbsp;&nbsp;21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//P1.21<br />#define&nbsp;LED5&nbsp;&nbsp;&nbsp;&nbsp;22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//P1.22<br />#define&nbsp;LED6&nbsp;&nbsp;&nbsp;&nbsp;23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//P1.23<br />#define&nbsp;LED7&nbsp;&nbsp;&nbsp;&nbsp;24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//P1.24<br />#define&nbsp;LED8&nbsp;&nbsp;&nbsp;&nbsp;25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//P1.25<br /><br /><br />//关LED&nbsp;&nbsp;&nbsp;<br />#define&nbsp;OFF_LED1()&nbsp;&nbsp;&nbsp;&nbsp;IO1SET=(1&lt&lt(LED1))<br />#define&nbsp;OFF_LED2()&nbsp;&nbsp;&nbsp;&nbsp;IO1SET=(1&lt&lt(LED2))&nbsp;<br />#define&nbsp;OFF_LED3()&nbsp;&nbsp;&nbsp;&nbsp;IO1SET=(1&lt&lt(LED3))&nbsp;<br />#define&nbsp;OFF_LED4()&nbsp;&nbsp;&nbsp;&nbsp;IO1SET=(1&lt&lt(LED4))&nbsp;<br />#define&nbsp;OFF_LED5()&nbsp;&nbsp;&nbsp;&nbsp;IO1SET=(1&lt&lt(LED5))&nbsp;<br />#define&nbsp;OFF_LED6()&nbsp;&nbsp;&nbsp;&nbsp;IO1SET=(1&lt&lt(LED6))&nbsp;<br />#define&nbsp;OFF_LED7()&nbsp;&nbsp;&nbsp;&nbsp;IO1SET=(1&lt&lt(LED7))&nbsp;<br />#define&nbsp;OFF_LED8()&nbsp;&nbsp;&nbsp;&nbsp;IO1SET=(1&lt&lt(LED8))&nbsp;<br /><br /><br />//开LED1<br />#define&nbsp;ON_LED1()&nbsp;&nbsp;&nbsp;&nbsp;IO1CLR=(1&lt&lt(LED1))<br />#define&nbsp;ON_LED2()&nbsp;&nbsp;&nbsp;&nbsp;IO1CLR=(1&lt&lt(LED2))&nbsp;<br />#define&nbsp;ON_LED3()&nbsp;&nbsp;&nbsp;&nbsp;IO1CLR=(1&lt&lt(LED3))&nbsp;<br />#define&nbsp;ON_LED4()&nbsp;&nbsp;&nbsp;&nbsp;IO1CLR=(1&lt&lt(LED4))&nbsp;<br />#define&nbsp;ON_LED5()&nbsp;&nbsp;&nbsp;&nbsp;IO1CLR=(1&lt&lt(LED5))&nbsp;<br />#define&nbsp;ON_LED6()&nbsp;&nbsp;&nbsp;&nbsp;IO1CLR=(1&lt&lt(LED6))&nbsp;<br />#define&nbsp;ON_LED7()&nbsp;&nbsp;&nbsp;&nbsp;IO1CLR=(1&lt&lt(LED7))&nbsp;<br />#define&nbsp;ON_LED8()&nbsp;&nbsp;&nbsp;&nbsp;IO1CLR=(1&lt&lt(LED8))<br />&nbsp;<br />&nbsp;/*使能LED1,即将LED1对应的口设置为输出*/<br />#define&nbsp;EN_LED1()&nbsp;&nbsp;{IO1DIR&nbsp;|=(1&lt&ltLED1);OFF_LED1();}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />#define&nbsp;EN_LED2()&nbsp;&nbsp;{IO1DIR&nbsp;|=(1&lt&ltLED2);OFF_LED2();}<br />#define&nbsp;EN_LED3()&nbsp;&nbsp;{IO1DIR&nbsp;|=(1&lt&ltLED3);OFF_LED3();}<br />#define&nbsp;EN_LED4()&nbsp;&nbsp;{IO1DIR&nbsp;|=(1&lt&ltLED4);OFF_LED4();}<br />#define&nbsp;EN_LED5()&nbsp;&nbsp;{IO1DIR&nbsp;|=(1&lt&ltLED5);OFF_LED5();}<br />#define&nbsp;EN_LED6()&nbsp;&nbsp;{IO1DIR&nbsp;|=(1&lt&ltLED6);OFF_LED6();}<br />#define&nbsp;EN_LED7()&nbsp;&nbsp;{IO1DIR&nbsp;|=(1&lt&ltLED7);OFF_LED7();}<br />#define&nbsp;EN_LED8()&nbsp;&nbsp;{IO1DIR&nbsp;|=(1&lt&ltLED8);OFF_LED8();}<br /><br /><br />/*LED状态*/<br />#define&nbsp;LED1STAT&nbsp;(IO1PIN&nbsp;&(1&lt&lt(LED1)))<br />#define&nbsp;LED2STAT&nbsp;(IO1PIN&nbsp;&(1&lt&lt(LED2)))<br />#define&nbsp;LED3STAT&nbsp;(IO1PIN&nbsp;&(1&lt&lt(LED3)))<br />#define&nbsp;LED4STAT&nbsp;(IO1PIN&nbsp;&(1&lt&lt(LED4)))<br />#define&nbsp;LED5STAT&nbsp;(IO1PIN&nbsp;&(1&lt&lt(LED5)))<br />#define&nbsp;LED6STAT&nbsp;(IO1PIN&nbsp;&(1&lt&lt(LED6)))<br />#define&nbsp;LED7STAT&nbsp;(IO1PIN&nbsp;&(1&lt&lt(LED7)))<br />#define&nbsp;LED8STAT&nbsp;(IO1PIN&nbsp;&(1&lt&lt(LED8)))<br /><br />#endif<br />
hotpower 发表于 2007-1-16 23:57 | 显示全部楼层

IO0SET=(1<<(LED1))就搞到别人家去了~~~

  
rpqhy 发表于 2007-1-17 13:02 | 显示全部楼层

菜鸟的疑问~~~~

{IO1DIR&nbsp;|=(1&lt&ltLED1);<br />OFF_LED1();}&nbsp;《——--这个不用也行吧,使能后还要关灯??<br />(能不能说说这个用法的原因?保守用法吗?)
computer00 发表于 2007-1-17 22:30 | 显示全部楼层

看你的要求了。如果一使能它,就亮了,恐怕不大好.

  
zlgarm 发表于 2007-1-18 08:25 | 显示全部楼层

re:

比如LED&nbsp;=1&lt&lt16:<br />当执行IO0SET&nbsp;=&nbsp;LED&nbsp;时,表示将P0.16的脚置为高电平,其他脚保持不变。<br />当执行IO0CLR&nbsp;=&nbsp;LED时,表示将P0.16脚置为低电平,其他脚保持不变。
 楼主| duck_2008 发表于 2007-1-19 20:50 | 显示全部楼层

谢谢!

  
 楼主| duck_2008 发表于 2007-1-19 21:51 | 显示全部楼层

如果想用在P1口上改怎么设置呢?

如果用在P1口上如何使用呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

5

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部