天嵌 ARM开发社区

 找回密码
 注册
查看: 2914|回复: 6

请问一下高手们怎么创最简单的程序来驱动led

[复制链接]
!!! 发表于 2012-10-11 14:31:59 | 显示全部楼层 |阅读模式
本帖最后由 !!! 于 2012-10-11 14:34 编辑

就比如裸奔1.5那样的流水灯实验,用最简单的程序怎么弄啊,我把别的都删完了只留下main程序,但是编译通过不了呢?why?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
TQ-ZQL 发表于 2012-10-11 14:53:49 | 显示全部楼层
建议在我们的工程基础上修改,如果你自己新建工程的话很多东西都要重新设置(像系统时钟之类的),你这里报提是一个2440lib.c文件中的一个pclk没有定义,你看下你的工程中有没有相关定义。如果你用的是我们的的工程,你可以参考下我们的工程看下你的源文件中的链接顺序对不对。
 楼主| !!! 发表于 2012-10-11 20:14:21 | 显示全部楼层
en ``改你们的工程能正确了···就想自己弄一个工程而已
亚瑟王 发表于 2012-10-12 16:43:12 | 显示全部楼层
!!! 发表于 2012-10-11 20:14
en ``改你们的工程能正确了···就想自己弄一个工程而已

你的错误信息就是缺少一些定义之类的,你找到对应的定义拷贝到你的代码中就可以了。
460769013 发表于 2012-10-17 09:12:05 | 显示全部楼层
本帖最后由 460769013 于 2012-10-17 09:12 编辑

第一:要有IO口的寄存器定义。第二:要有启动代码。第三:编写主程序。第四:工程要建立好。
//=============================================================================
// File Name : 2440addr.h
// Function  : TQ2440 Define Address Register
// Revision        : 1.0        
//=============================================================================

#ifndef __2440ADDR_H__
#define __2440ADDR_H__

#define rGPBCON    (*(volatile unsigned *)0x56000010)        //Port B control
#define rGPBDAT    (*(volatile unsigned *)0x56000014)        //Port B data
#define rGPBUP     (*(volatile unsigned *)0x56000018)        //Pull-up control B

#endif

启动代码(.s文件)
        AREA Init,CODE,READONLY
        ENTRY
TEST        
        ldr r0,=0x53000000  ;关看门狗
        mov r1,#0x0                        
        str r1,[r0]
        ldr sp,=4*1024 ;分配堆栈空间
        IMPORT main   ;声明C函数
        bl main        ;进入C函数
        END
         
主程序:
#include "2440addr.h"
其他的和单片机一样:lol



tianqian2012 发表于 2012-11-16 17:42:59 | 显示全部楼层
建议你去看看裸机开发方面的书,点亮LED很简单,设置一下控制寄存器和数据寄存器,至于关键的启动代码你可以先不管他,拷贝现成的添加到工程里就行,毕竟现在关键的是点亮led:)
北极熊 发表于 2012-11-16 20:12:45 | 显示全部楼层
        AREA Gpio,CODE,READONLY
        ENTRY
START
        ldr r0,=0x56000010;GPBCON地址
        ldr r1,=0x255555;0010 1010 1010 1010 1010 1010输出
        str r1,[r0];
       
        ldr r0,=0x56000018;GPBUP地址
        ldr r1,=0;
        str r1,[r0];使能上拉
       
N0        ldr r0,=0x56000014;GPBDAT地址
        ldr r1,=0x0;
        str r1,[r0];管脚B低电平,led亮,蜂鸣器不响

       
        mov r0,#0xff000;小延时
N1        subs r0,r0,#1;
        bne N1;
       
        ldr r0,=0x56000014;GPBDAT地址
        ldr r1,=0x7ff;
        str r1,[r0];管脚B高电平,led灭,蜂鸣器响
       
        mov r0,#0xff000;小延时
N2        subs r0,r0,#1;
        bne N2;
       
       
       
        b N0
       
        END
       
一个led亮灭实验,仅供参考
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-6 16:51 , Processed in 1.046868 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表