查看: 120|回复: 0

[技术] 【赚周年币】技术帖Week1-Day1——LPC824 Breakout之一、点亮LED灯

[复制链接]

22

主题

0

好友

2702

积分

进士

Rank: 5Rank: 5

  • TA的每日心情
    开心
    17 小时前
  • 签到天数: 1153 天

    [LV.10]以坛为家III

    爱板会员勋章 活跃会员勋章 发帖机器勋章 在线达人勋章

    发表于 2017-1-1 21:50:18 |显示全部楼层
    本帖最后由 toofree 于 2017-1-17 23:28 编辑

        活动拍了一块LPC824开发板,论坛有叫LPC824 Breakout的,在板上丝印名称为LPC824-DIP Board。
        161440oybqvmeacsm4ilis.jpg


        161444liedecn7h9zz8uh8.jpg


        161443y5ann55av6ay7550.jpg


         Flash Magic、 CP2102驱动文件在这里就不罗嗦了,在开箱贴中有。
         [活动] 【LPC824-DIP Board开箱】内附Flash Magic + CP2102驱动
         http://www.nxpic.org/module/forum/thread-608299-1-1.html

         Kei MDK 5 的LPC800系列MCU的器件包从Kei官网下载,这里也附上。
          Keil.LPC800_DFP.1.3.0.rar (9.53 MB, 下载次数: 1)

         在NXP官网下载了样例程序库,是针对LPC812 Max board和LPC824 Max board板的,也一并附上。
          LPC824_Example_Code_Bundle_Keil_r1.0.zip (797.89 KB, 下载次数: 9)

         解压样例程序压缩包,打开工程合集“LPC824_Example_Code_Bundle_Keil_r1.0\Keil_Projects\peripherals_examples.uvmpw”
         首先编译 peripherals_lib和utilities_lib两个工程,生成必要的.lib文件,否则后面编译其它工程的时候会提示缺相应的.lib文件。
        傲游截图20170101210821.jpg


        设置工程 Example_GPIO_Pattern_Match 为主当前激活工程,并编译。编译通过,说明之前的两个.lib文件起作用了。
        傲游截图20170101211200.jpg


        下面我们将以Example_GPIO_Pattern_Match做模板,修改必要的设置开始点灯。
        需要修改一下board.h头文件,因为这里的管脚设置并不是针对我们的LPC824 Breakout来做的。
        傲游截图20170101211523.jpg


        要修改Board.h文件,那么就不得不查看LPC824 Breakout板的原理图,这里也附上。
        lpc8xx_socket.rar (227.84 KB, 下载次数: 2)
        在原理图中可以看到,红、绿、蓝三个LED分别对应PIO0_15、PIO0_16、PIO0_17。
        傲游截图20170101211847.jpg


        下载调试串口的RXD、TXD分别对应PIO0_0、PIO0_4。尽管点灯和串口不大,但是我们一并修改,为了以后方便。
        傲游截图20170101211917.jpg
       

        我们需要修改Board.h中,30到37行内容。
        第38行不要动,对照LPC824应用手册可以找到为什么为设置为31,感兴趣的小伙伴可以看看,或者等我之后写个帖子。
        傲游截图20170101212559.jpg
       

        原内容为:
    // LPC824 Max board#elif TARGET_BOARD == 824
    #define RED    (1<<12)
    #define BLUE   (1<<27)
    #define GREEN  (1<<16)
    #define red_led_port   P0_12
    #define blue_led_port  P0_27
    #define green_led_port P0_16
    #define TARGET_TX P0_7             // For the MBED serial port
    #define TARGET_RX P0_18            // For the MBED serial port
    #define NUM_IOCON_P0_SLOTS 31      // For looping through the pad controls

        修改为:
    // LPC824 Max board
    #elif TARGET_BOARD == 824
    #define RED    (1<<15)
    #define BLUE   (1<<17)
    #define GREEN  (1<<16)
    #define red_led_port   P0_15
    #define blue_led_port  P0_17
    #define green_led_port P0_16
    #define TARGET_TX P0_4             // For the MBED serial port
    #define TARGET_RX P0_0             // For the MBED serial port

    #define NUM_IOCON_P0_SLOTS 31      // For looping through the pad controls
         
         接下来需要修改主文件“Example_GPIO_PatternMatch.c”。
         第54行可看到有一句,  Config_LEDs(RED | BLUE | GREEN);     
         说明程序中已经配置了三个LED灯,我们不需要再对LED初始化。

         那么我们在 while(2) 循环之前,加入我们的点亮LED灯代码。
        LEDs_On(RED);   
        LEDs_On(BLUE);
        LEDs_On(GREEN);
        傲游截图20170101213719.jpg
         

        好了,一切就绪,记得在目标板设置中,勾上生成HEX文件选项。
        傲游截图20170101213833.jpg


        编译生成.HEX文件。
        傲游截图20170101214031.jpg


         用Flash Magic下载生成的“Example_GPIO_Pattern_Match.hex”到LPC824 Breakout板卡。

         下载完固件,按一下RST键,三个灯是不是全点亮了呢,收工。是不是很简单呢!

         有同学会问,为什么不闪灯呢。因为闪灯需要延时,延时分硬件延时和软件延时。硬件有通用定时器和Stick定时器,涉及到其它硬件资源。要软件延时,那么咱们就来个比较精确的延时,精确的软件延时后面帖子介绍。

         具体Flash Magic工具怎么用,这里就不废话了。如果有不会使用Flash Magic的同学,请移步本人帖子。
        [活动] 【赚周年币】技术帖——FlashMagic的使用(基于LPC824-DIP Board)
        http://www.eeboard.com/bbs/thread-58962-1-1.html

        修改后工程文件打包附上,希望各位看官笑纳。
        LPC824_Example_Code_Bundle_Keil_r1.0.rar (1.05 MB, 下载次数: 7)
        文件名与前面的官网库相同,但大小和内容不同




    已有 2 人评分周年币 收起 理由
    EEboard爱板网 + 1 3周发帖养成记 奖励
    loveeeboard + 25

    总评分: 周年币 + 26   查看全部评分

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

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

    手机版|爱板网 |网站地图  

    GMT+8, 2017-1-18 18:01 , Processed in 0.090502 second(s), 12 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部