BEEP  就是 0X00000080
点赞  2009-6-23 15:38
引用: 引用 19 楼 rzsheng 的回复:
这个问题讨论的好,

为什么写成:
#define BEEP  1 < < 7

而不写成:
#define BEEP  0X00000080

个人认为移位操作比赋值操作效率更高,当然也更直观。
点赞  2009-6-23 15:43
写成1<<7的话便于理解,直接对照到IO口的引脚了。
点赞  2009-6-23 17:37
BEEP 1<<7  ------>  LDR R0,=BEEP
                    MOV R0,ASL#7

BEEP 0X00000080  --------->LDR R0,=BEEP
                           MOV R1,#0X00000080
                           STR R0,[R1]
可以看出移位比赋值要少一个指令,效率会有所提高。
点赞  2009-6-24 10:51
就是beep寄存器值原来是是0x00000000的话,现在第0位置1并向左移动7位,beep现在变成0x00000080。就是说beep现在连在p0.7口上,变成二进制就好看多了。
点赞  2009-6-25 11:05
别把c语言 书丢了··
  c 和ARM 一起学习  这是给你的建议·
初一看 编程风格蛮不错的···
点赞  2009-6-25 14:58
楼主用的NXP的LPC2XXX的ARM7开发板吧哈哈

这个是最基础的IO口控制的程序哟

好好努力
点赞  2009-6-28 17:04
大家说得都对
点赞  2009-6-29 00:06
12
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复