查看: 1371|回复: 0

NXP LPC4357 EVB 开发板教程(2)—— 建立工程并点亮LED

[复制链接]
  • TA的每日心情
    无聊
    2015-8-21 16:18
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2015-9-7 08:59:12 | 显示全部楼层 |阅读模式
    分享到:
    上一次我们鉴赏了开发板的硬件设计,很有大家风范,但是不怎么接地气。我仔细地看了下原理图,除了电源指示灯(竟然还是个绿的LED…)外,就一个可以软件驱动LED(蓝色,试过了),连个跑马灯都跑不起来。于此我们只能做一个呼吸灯的实验了。
    开发板没有提供电源啊,幸好通过Mini USB可以直接供电,插上USB接口以后,电源指示灯D6就亮起来了,这里微微的吐下槽,应该用双掷开关做控制的,如下图1所示:

    图1

    我公司一般用的是IAR做嵌入式开发的,所以这里我们就用IAR来建立工程,运行跑马灯吧。
    此处IAR的安装、破解(请支持正版),J-Link安装关联就不做详细解说了,相信用过的人都是手到擒来。
    等IAR顺利安装完毕后,打开软件,如下图2所示:

    图2

    选择New->Workspace,选择Project->Add New Project,选择C->main,点击Ok,选择工工程的所在目录,名字就命名为Led,如下图3所示,点击保存,工程就建立好了。

    Figure 3

    接下来我们添加官方提供的基于CMSIS规范编写的内核级和芯片级代码(这个当然不能我们自己写了,自己可以优化)。
    本次我们需要的源码如下:

    • 1.startup_LPC43xx.s 中断向量表文件,也定义了复位中断执行函数,复位中断执行函数如下图4所示,可以看到和STM32的启动文件差异很大啊,直接就初始化堆栈然后运行main函数了。


    • 1.lpc43xx_scu.c 引脚功能配置函数,此处我们要配置引脚为GPIO功能。


    • 2.lpc43xx_gpio.c 对GPIO口进行功能配置,此处我们要把GPIO口配置为输出功能。
    添加完以后,如下图5所示:

    Figure5

    接下来我们开始配置工程,依次如下图所示,先是图6,配置目标芯片为LPC4357_M4。

    Figure6

    接下来我们配置包含的.h文件,我为了方便,把官方提供的源码包的.h文件都复制进来了,其中包含了内核级、芯片级和一些通用方法的申明和定义。别忘了预定义里面定义CORE_M4,否则会出现如图8所示的错误。

    Figure 7


    Figure8

    接下来我们配置调试下载器为J-Link,点击OK,保存,会提示保存工作空间,名字也是Led吧,如图10所示。

    Figure9


    Figure 10

    主函数业务逻辑如下所示:
    #include "lpc43xx_gpio.h"
    #include "lpc43xx_scu.h"
    #include "lpc43xx_cgu.h"
    /*
    */
    // D13, PE_7, GP7[7]
    #define LEDM_BIT  7
    #define LEDM_PORT  7
    /*
    */
    static void Led_Init(void)
    {
        scu_pinmux( 0x0E ,7 , MD_PDN, FUNC4 );
        GPIO_SetDir( LEDM_PORT, (1 << LEDM_BIT), 1 );
    }
    /*
    */
    void Delay(uint32_t time)
    {
        volatile uint32_t tick;
        while(time--)
        {
            tick = 1000000;
            while(tick--);
        }
    }
    /*
    */
    int main()
    {
        Led_Init();
        while(1)
       {
            Delay(5);
            GPIO_ClearValue(LEDM_PORT, (1<<LEDM_BIT));
              Delay(5);
            GPIO_SetValue(LEDM_PORT, (1<<LEDM_BIT));
        }
    }
    这里我们详细讲下,开发板的LED连接了PE_7,通过官方提供的文档LPC4357_53_37_33 Summary.pdf里面我们可以看到如图11所示,PE7的PIO为功能4,配置为下拉模式,对应代码scu_pinmux( 0x0E ,7 , MD_PDN, FUNC4 ),GPIO的编号为Port7、Pin7,配置为输出模式,对应代码GPIO_SetDir( LEDM_PORT, (1 << LEDM_BIT), 1 )。

    Figure 11

    编译完以后,点击Download and Debug,选择全速运行,就可以看到呼吸灯了。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-18 22:44 , Processed in 0.113978 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.