引用: 引用 19 楼 rzsheng 的回复:
这个问题讨论的好,
为什么写成:
#define BEEP 1 < < 7
而不写成:
#define BEEP 0X00000080
个人认为移位操作比赋值操作效率更高,当然也更直观。
写成1<<7的话便于理解,直接对照到IO口的引脚了。
BEEP 1<<7 ------> LDR R0,=BEEP
MOV R0,ASL#7
BEEP 0X00000080 --------->LDR R0,=BEEP
MOV R1,#0X00000080
STR R0,[R1]
可以看出移位比赋值要少一个指令,效率会有所提高。
就是beep寄存器值原来是是0x00000000的话,现在第0位置1并向左移动7位,beep现在变成0x00000080。就是说beep现在连在p0.7口上,变成二进制就好看多了。
别把c语言 书丢了··
c 和ARM 一起学习 这是给你的建议·
初一看 编程风格蛮不错的···
楼主用的NXP的LPC2XXX的ARM7开发板吧哈哈
这个是最基础的IO口控制的程序哟
好好努力