查看: 3689|回复: 1

[分享] LPC54110学习+流水灯

[复制链接]
  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16706
    最后登录
    1970-1-1
    发表于 2017-4-3 22:48:49 | 显示全部楼层 |阅读模式
    本帖最后由 lkl0305 于 2017-4-4 21:51 编辑

    拿到开发板,赶快来个点亮LED,一看原理图,有足足8个LED,有点浪费了。
    QQ截图20170403223937.png

    QQ截图20170403223958.png
    来做个流水灯吧!
    暂时先用MDK软件
    QQ截图20170403224334.png
    只是用了CM4内核。
    1. #include "board.h"
    2. #include "pin_mux.h"
    3. #include "clock_config.h"

    4. #include "fsl_gpio.h"

    5. void delay(void)
    6. {
    7.     volatile uint32_t i = 0;
    8.     for (i = 0; i < 1000000; ++i)
    9.     {
    10.         __asm("NOP"); /* delay */
    11.     }
    12. }

    13. /*!
    14. * @brief Application entry point.
    15. */
    16. int main(void) {
    17.   /* Init board hardware. */
    18.   BOARD_InitBootPins();
    19.   BOARD_InitBootClocks();
    20.   BOARD_InitDebugConsole();
    21. #ifdef SDK_PRIMARY_CORE
    22.   BOARD_StartSecondaryCore();
    23. #endif

    24.   /* Add your code here */
    25.   gpio_pin_config_t config_low = {
    26.     kGPIO_DigitalOutput,
    27.     0,
    28.   };
    29.   gpio_pin_config_t config_high = {
    30.     kGPIO_DigitalOutput,
    31.     1,
    32.   };
    33.   
    34.   CLOCK_EnableClock(kCLOCK_Gpio0);
    35.   GPIO_PinInit(BOARD_INITPINS_LED0_GPIO, BOARD_INITPINS_LED0_PORT, BOARD_INITPINS_LED0_GPIO_PIN, &config_low);
    36.   GPIO_PinInit(BOARD_INITPINS_LED1_GPIO, BOARD_INITPINS_LED1_PORT, BOARD_INITPINS_LED1_GPIO_PIN, &config_low);
    37.   GPIO_PinInit(BOARD_INITPINS_LED2_GPIO, BOARD_INITPINS_LED2_PORT, BOARD_INITPINS_LED2_GPIO_PIN, &config_low);
    38.   GPIO_PinInit(BOARD_INITPINS_LED3_GPIO, BOARD_INITPINS_LED3_PORT, BOARD_INITPINS_LED3_GPIO_PIN, &config_low);
    39.   GPIO_PinInit(BOARD_INITPINS_LED4_GPIO, BOARD_INITPINS_LED4_PORT, BOARD_INITPINS_LED4_GPIO_PIN, &config_high);
    40.   GPIO_PinInit(BOARD_INITPINS_LED5_GPIO, BOARD_INITPINS_LED5_PORT, BOARD_INITPINS_LED5_GPIO_PIN, &config_high);
    41.   GPIO_PinInit(BOARD_INITPINS_LED6_GPIO, BOARD_INITPINS_LED6_PORT, BOARD_INITPINS_LED6_GPIO_PIN, &config_high);
    42.   GPIO_PinInit(BOARD_INITPINS_LED7_GPIO, BOARD_INITPINS_LED7_PORT, BOARD_INITPINS_LED7_GPIO_PIN, &config_high);

    43.   for(;;) { /* Infinite loop to avoid leaving the main function */
    44.     __asm("NOP"); /* something to use as a breakpoint stop while looping */
    45.     GPIO_SetPinsOutput(BOARD_INITPINS_LED0_GPIO, BOARD_INITPINS_LED0_PORT, 1U << BOARD_INITPINS_LED0_GPIO_PIN);
    46.     delay();
    47.     GPIO_ClearPinsOutput(BOARD_INITPINS_LED0_GPIO, BOARD_INITPINS_LED0_PORT, 1U << BOARD_INITPINS_LED0_GPIO_PIN);

    48.     GPIO_SetPinsOutput(BOARD_INITPINS_LED1_GPIO, BOARD_INITPINS_LED1_PORT, 1U << BOARD_INITPINS_LED1_GPIO_PIN);
    49.     delay();
    50.     GPIO_ClearPinsOutput(BOARD_INITPINS_LED1_GPIO, BOARD_INITPINS_LED1_PORT, 1U << BOARD_INITPINS_LED1_GPIO_PIN);

    51.     GPIO_SetPinsOutput(BOARD_INITPINS_LED2_GPIO, BOARD_INITPINS_LED2_PORT, 1U << BOARD_INITPINS_LED2_GPIO_PIN);
    52.     delay();
    53.     GPIO_ClearPinsOutput(BOARD_INITPINS_LED2_GPIO, BOARD_INITPINS_LED2_PORT, 1U << BOARD_INITPINS_LED2_GPIO_PIN);

    54.     GPIO_SetPinsOutput(BOARD_INITPINS_LED3_GPIO, BOARD_INITPINS_LED3_PORT, 1U << BOARD_INITPINS_LED3_GPIO_PIN);
    55.     delay();
    56.     GPIO_ClearPinsOutput(BOARD_INITPINS_LED3_GPIO, BOARD_INITPINS_LED3_PORT, 1U << BOARD_INITPINS_LED3_GPIO_PIN);

    57.     GPIO_ClearPinsOutput(BOARD_INITPINS_LED4_GPIO, BOARD_INITPINS_LED4_PORT, 1U << BOARD_INITPINS_LED4_GPIO_PIN);
    58.     delay();
    59.     GPIO_SetPinsOutput(BOARD_INITPINS_LED4_GPIO, BOARD_INITPINS_LED4_PORT, 1U << BOARD_INITPINS_LED4_GPIO_PIN);

    60.     GPIO_ClearPinsOutput(BOARD_INITPINS_LED5_GPIO, BOARD_INITPINS_LED5_PORT, 1U << BOARD_INITPINS_LED5_GPIO_PIN);
    61.     delay();
    62.     GPIO_SetPinsOutput(BOARD_INITPINS_LED5_GPIO, BOARD_INITPINS_LED5_PORT, 1U << BOARD_INITPINS_LED5_GPIO_PIN);

    63.     GPIO_ClearPinsOutput(BOARD_INITPINS_LED6_GPIO, BOARD_INITPINS_LED6_PORT, 1U << BOARD_INITPINS_LED6_GPIO_PIN);
    64.     delay();
    65.     GPIO_SetPinsOutput(BOARD_INITPINS_LED6_GPIO, BOARD_INITPINS_LED6_PORT, 1U << BOARD_INITPINS_LED6_GPIO_PIN);

    66.     GPIO_ClearPinsOutput(BOARD_INITPINS_LED7_GPIO, BOARD_INITPINS_LED7_PORT, 1U << BOARD_INITPINS_LED7_GPIO_PIN);
    67.     delay();
    68.     GPIO_SetPinsOutput(BOARD_INITPINS_LED7_GPIO, BOARD_INITPINS_LED7_PORT, 1U << BOARD_INITPINS_LED7_GPIO_PIN);
    69.   }
    70. }
    复制代码
    感觉整个程序都在做体力劳动!刚开始,慢慢来吧。
    来个效果图:
    QQ截图20170403225124.png

    QQ截图20170403225139.png
    完整工程
    TestProject_cm4.rar (4.73 MB, 下载次数: 129)
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-10-17 08:07
  • 签到天数: 273 天

    连续签到: 1 天

    [LV.8]以坛为家I

    74

    主题

    2338

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    7508
    最后登录
    2021-8-30
    发表于 2017-4-5 10:09:37 | 显示全部楼层
    不错的流水灯
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-24 07:09 , Processed in 0.085296 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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