主题 : 基于linux的裸机led流水灯程序 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 55009
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2011-09-10
最后登录: 2014-08-07
楼主  发表于: 2014-02-03 00:05

 基于linux的裸机led流水灯程序

原光盘的程序如下:
复制代码
  1. int main()
  2. {
  3.     int i = 0x10;
  4.     // 配置引脚
  5.     volatile unsigned long *gpkcon0 = (volatile unsigned long *)0x7F008800;
  6.     volatile unsigned long *gpkdat = (volatile unsigned long *)0x7F008808;
  7.     
  8.     *gpkcon0 = 0x11110000;
  9.     // 跑马灯
  10.     while (1)
  11.     {
  12.         *gpkdat = i;
  13.         i++;
  14.         if (i == 0x100 )
  15.             i = 0x10;
  16.         delay();
  17.     }
  18.     
  19.     return 0;
  20. }


while(1)中的那一小段怎么看都不像流水灯,纯粹误导人阿

改造后的程序
复制代码
  1.     // 跑马灯
  2.     while (1)
  3.     {
  4.         *gpkdat = i;
  5.         if( i >= 0x100 )
  6.             i = 0x10;
  7.         else
  8.             i <<= 1;
  9.         
  10.         delay();
  11.     }


这才像嘛,编译 运行,完全正确

对了 这么改之后得增加延时时间
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2014-02-03 08:05
顶一个
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
畅游在知识的海洋...
级别: 论坛版主
UID: 33629
精华: 4
发帖: 554
金钱: 3075 两
威望: 615 点
贡献值: 5 点
综合积分: 1188 分
注册时间: 2010-12-03
最后登录: 2015-09-22
2楼  发表于: 2014-02-07 10:05
赞一个~
好好学习,天天鲁管