//两只LED交替闪烁
#include "systemInit.h"
//定义LED
#define LED_PERIPH SYSCTL_PERIPH_GPIOG
#define LED_PORT GPIO_PORTG_BASE //GPIOG的基址(0x40026000)
#define LED_PINS GPIO_PIN_2|GPIO_PIN_3
//主函数(程序入口)
int main(void)
{
unsigned char ucVal;
jtagWait(); //防止JTAG失效,重要!
clockInit(); //时钟初始化:晶振,6HZ
SysCtlPeriEnable(LED_PERIPH );
GPIOPinTypeOut(LED_PORT,LED_PINS);
ucVal=(0<<2)|(1<<3);
for(;;)
{
GPIOPinWrite(LED_PORT,LED_PINS,ucVal);
ucVal^=(0<<2)|(1<<3); //反转LED亮灭状态
SysCtlDelay(150*(TheSysClock/3000)); //延时约150ms
}
}
是资料上的一个例子,我写到ARM1138板子里后,出现的问题如下:
LED2 红色的灯一直亮着
LED3 再闪
不能够达到资料上所描述的:两只LED在不断交替闪烁。
我看的不太明白的几处代码:
ucVal=(0<<2)|(1<<3);
ucVal^=(0<<2)|(1<<3); //反转LED亮灭状态
还望高手指教!谢谢拉!
On 4月15日, 下午10时16分, 王硕 <wangshuo2...@gmail.com> wrote:
我觉得这个貌似是 ~=表示去反赋值的意思吧
这句话就是表示 我生成了一个数 他的第2位是0和第三位是1
用2进制写
0<<2表示 XXXXXX0X
1<<3表示 XXXXX1XX
这两个按位或 最后得到的是 XXXXX10X
这样就会把相应的两位写入寄存器 也就可以操纵GPIO 相应管教的高低电平了
在电路连接上 好像采取的灌电流方式 可以提高GPIO 的驱动能力 所以置零是灯亮
>
>
> 还望高手指教!谢谢拉!
--
欢迎访问我的网站:http://songfei.org
用那个地址(是不是应该这样称呼?)也可以写成(运算成功):
ucVal=(~0X0D)|0X0B; //设置LED亮灭的初始状态 (~0X0D)|0X0B运算后得到0X0A(二进制表示
00001010? 貌似这样的话LED1也是亮的?)
ucVal^=0X0D|0X0B; //运算后得到0XFF 二进制表示11111111,即全部熄灭。但是这个代码实现的功能是反转LED亮灭状
态 。??
On 4月16日, 上午9时11分, 宋飞 <songfei....@gmail.com> wrote:
> 2009/4/15 王硕 <wangshuo2...@gmail.com>:
应该是:
ucVal^=0X0D|0X0B; //运算后得到0X00 二进制表示00000000,即全部点亮。但是这个代码实现的功能是反转LED亮灭
状
态 。??
On 4月16日, 上午9时11分, 宋飞 <songfei....@gmail.com> wrote:
> 2009/4/15 王硕 <wangshuo2...@gmail.com>:
>
>
>
>
>
你这句不对 ^=不是取反赋值 是按位异或 也就是说
是用原来的数 去按位异或 000000110
如果原来的数的对应的那一位是0 那与0异或 结果是0 没有改变 与1异或 结果是1 结果原来数的那一位取反了
如果原来是1也是一样的
所以 这句话是在不改变别的位的情况下 把那两位取反了
>
> 用那个地址(是不是应该这样称呼?)也可以写成(运算成功):
> ucVal=(~0X0D)|0X0B; //设置LED亮灭的初始状态 (~0X0D)|0X0B运算后得到0X0A(二进制表示
> 00001010? 貌似这样的话LED1也是亮的?)
> ucVal^=0X0D|0X0B; //运算后得到0XFF 二进制表示11111111,即全部熄灭。但是这个代码实现的功能是反转LED亮灭状
> 态 。??
>
> On 4月16日, 上午9时11分, 宋飞 <songfei....@gmail.com> wrote:
>> 2009/4/15 王硕 <wangshuo2...@gmail.com>:
>>
>>
>>
你后面写的这些我就看不明白了~~~
--
欢迎访问我的网站:http://songfei.org
On 4月16日, 上午9时11分, 宋飞 <songfei....@gmail.com> wrote:
> 2009/4/15 王硕 <wangshuo2...@gmail.com>:
>
>
>
>
>
> 欢迎访问我的网站:http://songfei.org- 隐藏被引用文字 -
>
> - 显示引用的文字 -
--
------------------
running out of a problem is not a solution,sit and face it