标题:恳请诸位指点几个问题
只看楼主
ygyh
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-3-24
 问题点数:0 回复次数:2 
恳请诸位指点几个问题
我搞51系列的单片机已好几年了,现想学学ARM的.在买回的EasyARM2131开发实验套件随带的光碟中有很多程序例子,因为生疏好多看不懂,譬如:

1、
“中断嵌套实验”例子程序中,有这样的
VICIntEnable  = 1 << 0x0e;    //使能EINT0中断
在别的地方“<<”是位逻辑左移的运算符,这儿用作什么?

2、
  “中断嵌套实验”例子程序中,有这样的
const uint32 BEEP = 1 << 7;  // P0.7控制蜂鸣器,低电平蜂鸣
const uint32 LED1 = 1 << 18;// P1.18控制LED1,低电平点亮

   #define   BEEP   1 << 7    // P0.7控制蜂鸣器
①有什么区别?前者是定义的语句,后者是包含文件?
②为什么可以const uint32 LED1= 1 <<18;这样定义?
③这样定义了又怎么知道是P1.18口,还是P0.18口???

3、
  T0MR0 = Fpclk / 10;  // 0.1秒定时
语句中的“Fpclk”是什么东东???它可以不定义的库函数吗???

4、
资料“LPC2131/2132/2138使用指南”中对于IOPIN寄存器说是“只读”的,但是为什么又可以
IO0PIN=(IO0PIN&�xFFFF00FF)||#0x0000A500
操作呢???

恳请诸位大侠高手指点
搜索更多相关主题的帖子: 蜂鸣器 单片机 BEEP 嵌套 例子 
2008-04-15 10:01
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
得分:0 
1.仍然是左移
2.①前者是定义一个常量,后者是宏定义,编译的时候会直接替换
②为什么不可以? 比如int i=1,j=1+2;这都是行的
③这个估计得看说明书了
3.没有上下文,不清楚
4.不清楚,不过我看这句程序有点问题,&&和||应该换成&和|

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-04-15 10:18
ygyh
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-3-24
得分:0 
谢谢永夜极光版主
谢谢永夜极光版主的指点....
不过我还是不太明白如何用"位"的移位来定义一个位演变常量(或变量)?????
恳请能具体说说
2008-04-15 10:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-209089-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.260267 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved