5087|0

4996

帖子

19

TA的资源

裸片初长成(初级)

楼主
 

mini2440裸机程序 如何点亮led灯 基于MDK4.11版(ZZ) [复制链接]

呵呵,搞了一天,终于成功了。

心得,用MDK3.5版的启动文件老是出错,一气之下,下了个4.11版的,居然很正常,嘿嘿,新版就是好。

万恶的ADS,总是调不出AXD,没办法,转向MDK啦,反正ADS停止更新了,MDK才是王道啊。

转载请保留版权信息,谢谢合作。

mini2440裸机程序 如何点亮led灯 基于MDK4.11版

http://hi.baidu.com/如来大悲/blog/item/c6150233be4692a45edf0e02.html

1,新建工程文件led_test


2,选择S3C2440A


 

3,添加默然启动代码,点“是”即可


4,新建main.c文件,并加入MDK中,如上图(main.c的代码在文章下面)


 

5,点击Target,按上图配置。





6,在D:\Keil\ARM\Boards\Samsung\S3C2440\RTX_Blinky中找到Ext_RAM文件,复制到你的工程目录中,并修改为.\led_test.axf


7,配置Debug,我用的是jlink v8仿真器


8,配置Utilities

 

10,进入仿真。调试前,MDK提问你是否要安装jlink的最新驱动,需要联网。点确定,安装最新驱动即可。

真情大放送

//main.c 博客地址 http://hi.baidu.com/如来大悲/blog/item/c6150233be4692a45edf0e02.html

//本代码通俗易懂,且没有引入其他的头文件,结构清晰

//哈哈,自吹自擂,失礼啦

#define rGPBCON                (*(volatile unsigned long *) 0x56000010)

#define rGPBDAT                (*(volatile unsigned long *) 0x56000014)

void Led_port_init(void);

#define LED1_ON    ~(1<<5)

#define LED2_ON    ~(1<<6)

#define LED3_ON    ~(1<<7)

#define LED4_ON    ~(1<<8)

#define LED1_OFF    (1<<5)

#define LED2_OFF    (1<<6)

#define LED3_OFF    (1<<7)

#define LED4_OFF    (1<<8)

/*************************************************

Function name: delay

Parameter     : times

Description : 延时函数

Return : void

Argument      : void

Autor & date :

**************************************************/

void delay(int times)

{

    int i;

    for(;times>0;times--)

      for(i=0;i<400;i++);

}

/*************************************************

Function name: Main

Parameter     : void

Description : 主功能函数

Return : void

Argument      : void

Autor & date :

**************************************************/

int main(void)

{

    int i;

     Led_port_init();

    

    for(i=0;i<100;i++)

     {

     /* 全亮*/

     rGPBDAT = rGPBDAT&(LED1_ON)&(LED2_ON)&(LED3_ON)&(LED4_ON);

    

     delay(10000);

    

     /* 全灭*/

     rGPBDAT = rGPBDAT|(LED1_OFF)|(LED2_OFF)|(LED3_OFF)|(LED4_OFF);

    

     delay(10000);

     }

}

/*************************************************

Function name: Led_port_init

Parameter     : void

Description : mini2440开发板有个引脚连接了LED发光

                二极管,分别是GPB5--LED1GPB6—LED2

                GPB7--LED3GPB8--LED4,该函数的作用

                是对其个引脚进行初始化。

Return : void

Argument      : void

Autor & date : Daniel

**************************************************/   

void Led_port_init(void)

{

   /*设置GPB5-GPB8为输出端口*/

    rGPBCON &= ~((3<<10)|(3<<12)|(3<<14)|(3<<16));

    rGPBCON |= (1<<10)|(1<<12)|(1<<14)|(1<<16);

}

此帖出自单片机论坛
点赞 关注
个人签名我的博客
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
电源解决方案和技术 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表