[ZLG-MCU] 为什么LM3s615输出0是用GPIOPinWrite(LED_PIN , 0 << 3)?

[复制链接]
4011|3
 楼主| talent8791 发表于 2008-4-17 18:02 | 显示全部楼层 |阅读模式
为什么LM3s615输出0是用这样的:GPIOPinWrite(LED_PIN&nbsp;,&nbsp;0&nbsp;&lt&lt&nbsp;3)?
Andy1990zx 发表于 2008-4-17 19:07 | 显示全部楼层

同问

&lt&lt和&nbsp;&gt&gt是什么意思?<br />记得以前学C时没有见过这两个符号啊<br />还有HWREG之类的地址操作,ZLG的教材也没有详细讲的<br />搜索时会自动屏蔽这类特殊符号,无从知道了
zlgmcu 发表于 2008-4-18 09:05 | 显示全部楼层

<<和>>分别为左移和右移,这是C语言基本语法,很常用的

LED_PIN的定义是:<br /><br />#define&nbsp;&nbsp;LED_PIN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPIO_PORTA_BASE&nbsp;,&nbsp;GPIO_PIN_3<br /><br />GPIOPinWrite(LED_PIN&nbsp;,&nbsp;1&nbsp;&lt&lt&nbsp;3);是表示,设置PA3引脚输出高电平,如果要使它输出低电平则:<br />GPIOPinWrite(LED_PIN&nbsp;,&nbsp;0&nbsp;&lt&lt&nbsp;3);<br /><br />其实“0&nbsp;&lt&lt&nbsp;3”还是0,只是为了更好理解,写成下面的形式也可以:<br />GPIOPinWrite(LED_PIN&nbsp;,&nbsp;0);
zlgmcu 发表于 2008-4-18 16:30 | 显示全部楼层

采用类似于“1 << 3”移位的办法比较直观

<br />//&nbsp;PA3输出高电平<br />GPIOPinWrite(GPIO_PORTA_BASE&nbsp;,&nbsp;GPIO_PIN3&nbsp;,&nbsp;1&nbsp;&lt&lt&nbsp;3);<br /><br />//&nbsp;PA3输出低电平<br />GPIOPinWrite(GPIO_PORTA_BASE&nbsp;,&nbsp;GPIO_PIN3&nbsp;,&nbsp;0&nbsp;&lt&lt&nbsp;3);<br /><br />//&nbsp;PA3和PA5同时输出高电平<br />GPIOPinWrite(GPIO_PORTA_BASE&nbsp;,&nbsp;GPIO_PIN3&nbsp;|&nbsp;GPIO_PIN5&nbsp;,&nbsp;(1&nbsp;&lt&lt&nbsp;3)&nbsp;|&nbsp;(1&nbsp;&lt&lt&nbsp;5));<br /><br />//&nbsp;PA3输出低电平,PA5输出高电平<br />GPIOPinWrite(GPIO_PORTA_BASE&nbsp;,&nbsp;GPIO_PIN3&nbsp;|&nbsp;GPIO_PIN5&nbsp;,&nbsp;(0&nbsp;&lt&lt&nbsp;3)&nbsp;|&nbsp;(1&nbsp;&lt&lt&nbsp;5));<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

103

帖子

0

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