请选择 进入手机版 | 继续访问电脑版
查看: 733|回复: 0

[在线活动] [i.MX RT1021核心板]开发之 二:环境的搭建,LED测评

[复制链接]

该用户从未签到

4

主题

4

帖子

0

注册会员

Rank: 2

积分
113
最后登录
2022-12-8
发表于 2022-12-8 17:36:08 | 显示全部楼层 |阅读模式
      之前用Jlink SWD三线可以识别RT1021,无法下载。搞了好久,最后用一块开发板的DAP完成下载。

11.jpg


换成开发板的DAP下载OK:
13.jpg

先从点灯开始,开发板的SCH LED
LED.png

  1. nt main(void)
  2. {
  3.     DisableGlobalIRQ();
  4.     board_init();   //务必保留,本函数用于初始化MPU 时钟 调试串口
  5.    
  6.    
  7.     //初始化GPIO C14 为输出 默认输出低电平 使用默认引脚配置GPIO_PIN_CONFIG
  8.     gpio_init(C14,GPO,0,GPIO_PIN_CONFIG);
  9.    
  10.     //初始化GPIO C15 为输出 默认输出高电平 使用默认引脚配置GPIO_PIN_CONFIG
  11.     gpio_init(C15,GPO,1,GPIO_PIN_CONFIG);
  12.        
  13.        
  14.        
  15.    
  16.     //初始化GPIO D5 D7 为输入引脚
  17.     gpio_init(D5 ,GPI,0,GPIO_PIN_CONFIG);
  18.     gpio_init(D7 ,GPI,0,GPIO_PIN_CONFIG);
  19.    
  20.     EnableGlobalIRQ(0);
  21.    
  22.    
  23.    
  24.     while(1)
  25.     {
  26.         gpio_set(C14,1);//设置引脚电平为高电平
  27.         systick_delay_ms(100);
  28.         gpio_set(C14,0);//设置引脚电平为低电平
  29.         systick_delay_ms(100);
  30.         gpio_toggle(C14);//翻转引脚电平
  31.         systick_delay_ms(100);
  32.         
  33.                        
  34.                         gpio_set(C15,1);//设置引脚电平为高电平
  35.         systick_delay_ms(100);
  36.         gpio_set(C15,0);//设置引脚电平为低电平
  37.         systick_delay_ms(100);
  38.         gpio_toggle(C15);//翻转引脚电平
  39.         systick_delay_ms(100);
  40.         
  41.         
  42.         gpio_status = gpio_get(D5);//获取引脚电平
  43.         systick_delay_ms(100);
  44.         
  45.     }

  46.    
  47. }
复制代码
  1. void BOARD_InitPins(void) {
  2.   CLOCK_EnableClock(kCLOCK_Iomuxc);           /* iomuxc clock (iomuxc_clk_enable): 0x03u */

  3.   IOMUXC_SetPinMux(
  4.       IOMUXC_GPIO_AD_B0_06_LPUART1_TX,        /* GPIO_AD_B0_06 is configured as LPUART1_TX */
  5.       0U);                                    /* Software Input On Field: Input Path is determined by functionality */
  6.   IOMUXC_SetPinMux(
  7.       IOMUXC_GPIO_AD_B0_07_LPUART1_RX,        /* GPIO_AD_B0_07 is configured as LPUART1_RX */
  8.       0U);                                    /* Software Input On Field: Input Path is determined by functionality */
  9.   IOMUXC_SetPinMux(
  10.       IOMUXC_GPIO_SD_B1_05_FLEXSPI_A_DQS,     /* GPIO_SD_B1_05 is configured as FLEXSPI_A_DQS */
  11.       1U);                                    /* Software Input On Field: Force input path of pad GPIO_SD_B1_05 */
  12.   IOMUXC_SetPinMux(
  13.       IOMUXC_GPIO_SD_B1_06_FLEXSPI_A_DATA03,  /* GPIO_SD_B1_06 is configured as FLEXSPI_A_DATA03 */
  14.       1U);                                    /* Software Input On Field: Force input path of pad GPIO_SD_B1_06 */
  15.   IOMUXC_SetPinMux(
  16.       IOMUXC_GPIO_SD_B1_07_FLEXSPI_A_SCLK,    /* GPIO_SD_B1_07 is configured as FLEXSPI_A_SCLK */
  17.       1U);                                    /* Software Input On Field: Force input path of pad GPIO_SD_B1_07 */
  18.   IOMUXC_SetPinMux(
  19.       IOMUXC_GPIO_SD_B1_08_FLEXSPI_A_DATA00,  /* GPIO_SD_B1_08 is configured as FLEXSPI_A_DATA00 */
  20.       1U);                                    /* Software Input On Field: Force input path of pad GPIO_SD_B1_08 */
  21.   IOMUXC_SetPinMux(
  22.       IOMUXC_GPIO_SD_B1_09_FLEXSPI_A_DATA02,  /* GPIO_SD_B1_09 is configured as FLEXSPI_A_DATA02 */
  23.       1U);                                    /* Software Input On Field: Force input path of pad GPIO_SD_B1_09 */
  24.   IOMUXC_SetPinMux(
  25.       IOMUXC_GPIO_SD_B1_10_FLEXSPI_A_DATA01,  /* GPIO_SD_B1_10 is configured as FLEXSPI_A_DATA01 */
  26.       1U);                                    /* Software Input On Field: Force input path of pad GPIO_SD_B1_10 */
  27.   IOMUXC_SetPinMux(
  28.       IOMUXC_GPIO_SD_B1_11_FLEXSPI_A_SS0_B,   /* GPIO_SD_B1_11 is configured as FLEXSPI_A_SS0_B */
  29.       1U);                                    /* Software Input On Field: Force input path of pad GPIO_SD_B1_11 */
  30.   IOMUXC_SetPinConfig(
  31.       IOMUXC_GPIO_AD_B0_06_LPUART1_TX,        /* GPIO_AD_B0_06 PAD functional properties : */
  32.       0x10B0u);                               /* Slew Rate Field: Slow Slew Rate
  33.                                                  Drive Strength Field: R0/6
  34.                                                  Speed Field: medium(100MHz)
  35.                                                  Open Drain Enable Field: Open Drain Disabled
  36.                                                  Pull / Keep Enable Field: Pull/Keeper Enabled
  37.                                                  Pull / Keep Select Field: Keeper
  38.                                                  Pull Up / Down Config. Field: 100K Ohm Pull Down
  39.                                                  Hyst. Enable Field: Hysteresis Disabled */
  40.   IOMUXC_SetPinConfig(
  41.       IOMUXC_GPIO_AD_B0_07_LPUART1_RX,        /* GPIO_AD_B0_07 PAD functional properties : */
  42.       0x10B0u);                               /* Slew Rate Field: Slow Slew Rate
  43.                                                  Drive Strength Field: R0/6
  44.                                                  Speed Field: medium(100MHz)
  45.                                                  Open Drain Enable Field: Open Drain Disabled
  46.                                                  Pull / Keep Enable Field: Pull/Keeper Enabled
  47.                                                  Pull / Keep Select Field: Keeper
  48.                                                  Pull Up / Down Config. Field: 100K Ohm Pull Down
  49.                                                  Hyst. Enable Field: Hysteresis Disabled */
  50.   IOMUXC_SetPinConfig(
  51.       IOMUXC_GPIO_SD_B1_05_FLEXSPI_A_DQS,     /* GPIO_SD_B1_05 PAD functional properties : */
  52.       0x10F1u);                               /* Slew Rate Field: Fast Slew Rate
  53.                                                  Drive Strength Field: R0/6
  54.                                                  Speed Field: max(200MHz)
  55.                                                  Open Drain Enable Field: Open Drain Disabled
  56.                                                  Pull / Keep Enable Field: Pull/Keeper Enabled
  57.                                                  Pull / Keep Select Field: Keeper
  58.                                                  Pull Up / Down Config. Field: 100K Ohm Pull Down
  59.                                                  Hyst. Enable Field: Hysteresis Disabled */
  60.   IOMUXC_SetPinConfig(
  61.       IOMUXC_GPIO_SD_B1_06_FLEXSPI_A_DATA03,  /* GPIO_SD_B1_06 PAD functional properties : */
  62.       0x10F1u);                               /* Slew Rate Field: Fast Slew Rate
  63.                                                  Drive Strength Field: R0/6
  64.                                                  Speed Field: max(200MHz)
  65.                                                  Open Drain Enable Field: Open Drain Disabled
  66.                                                  Pull / Keep Enable Field: Pull/Keeper Enabled
  67.                                                  Pull / Keep Select Field: Keeper
  68.                                                  Pull Up / Down Config. Field: 100K Ohm Pull Down
  69.                                                  Hyst. Enable Field: Hysteresis Disabled */
  70.   IOMUXC_SetPinConfig(
  71.       IOMUXC_GPIO_SD_B1_07_FLEXSPI_A_SCLK,    /* GPIO_SD_B1_07 PAD functional properties : */
  72.       0x10F1u);                               /* Slew Rate Field: Fast Slew Rate
  73.                                                  Drive Strength Field: R0/6
  74.                                                  Speed Field: max(200MHz)
  75.                                                  Open Drain Enable Field: Open Drain Disabled
  76.                                                  Pull / Keep Enable Field: Pull/Keeper Enabled
  77.                                                  Pull / Keep Select Field: Keeper
  78.                                                  Pull Up / Down Config. Field: 100K Ohm Pull Down
  79.                                                  Hyst. Enable Field: Hysteresis Disabled */
  80.   IOMUXC_SetPinConfig(
  81.       IOMUXC_GPIO_SD_B1_08_FLEXSPI_A_DATA00,  /* GPIO_SD_B1_08 PAD functional properties : */
  82.       0x10F1u);                               /* Slew Rate Field: Fast Slew Rate
  83.                                                  Drive Strength Field: R0/6
  84.                                                  Speed Field: max(200MHz)
  85.                                                  Open Drain Enable Field: Open Drain Disabled
  86.                                                  Pull / Keep Enable Field: Pull/Keeper Enabled
  87.                                                  Pull / Keep Select Field: Keeper
  88.                                                  Pull Up / Down Config. Field: 100K Ohm Pull Down
  89.                                                  Hyst. Enable Field: Hysteresis Disabled */
  90.   IOMUXC_SetPinConfig(
  91.       IOMUXC_GPIO_SD_B1_09_FLEXSPI_A_DATA02,  /* GPIO_SD_B1_09 PAD functional properties : */
  92.       0x10F1u);                               /* Slew Rate Field: Fast Slew Rate
  93.                                                  Drive Strength Field: R0/6
  94.                                                  Speed Field: max(200MHz)
  95.                                                  Open Drain Enable Field: Open Drain Disabled
  96.                                                  Pull / Keep Enable Field: Pull/Keeper Enabled
  97.                                                  Pull / Keep Select Field: Keeper
  98.                                                  Pull Up / Down Config. Field: 100K Ohm Pull Down
  99.                                                  Hyst. Enable Field: Hysteresis Disabled */
  100.   IOMUXC_SetPinConfig(
  101.       IOMUXC_GPIO_SD_B1_10_FLEXSPI_A_DATA01,  /* GPIO_SD_B1_10 PAD functional properties : */
  102.       0x10F1u);                               /* Slew Rate Field: Fast Slew Rate
  103.                                                  Drive Strength Field: R0/6
  104.                                                  Speed Field: max(200MHz)
  105.                                                  Open Drain Enable Field: Open Drain Disabled
  106.                                                  Pull / Keep Enable Field: Pull/Keeper Enabled
  107.                                                  Pull / Keep Select Field: Keeper
  108.                                                  Pull Up / Down Config. Field: 100K Ohm Pull Down
  109.                                                  Hyst. Enable Field: Hysteresis Disabled */
  110.   IOMUXC_SetPinConfig(
  111.       IOMUXC_GPIO_SD_B1_11_FLEXSPI_A_SS0_B,   /* GPIO_SD_B1_11 PAD functional properties : */
  112.       0x10F1u);                               /* Slew Rate Field: Fast Slew Rate
  113.                                                  Drive Strength Field: R0/6
  114.                                                  Speed Field: max(200MHz)
  115.                                                  Open Drain Enable Field: Open Drain Disabled
  116.                                                  Pull / Keep Enable Field: Pull/Keeper Enabled
  117.                                                  Pull / Keep Select Field: Keeper
  118.                                                  Pull Up / Down Config. Field: 100K Ohm Pull Down
  119.                                                  Hyst. Enable Field: Hysteresis Disabled */
  120.   
  121.   
  122.   
  123. }
复制代码
2020070614410458.png

时钟配置比STM32复杂下,052的IO配置相对ST的芯片更加复杂,但也更加灵活。
FSL SDK的GPIO配置主要涉及两个库文件,fsl_iomux和fsl_gpioIOMUX文件主要是关于IO的上下拉,驱动力和速率的一些复用功能的设置。
GPIO就是配置IO的输入输出方向,和IO状态的读取,基本的IO配置流程就是开启IO时钟(pin_mux.c文件下已经开启,如果没开需要加上CLOCK_EnableClock(kCLOCK_Iomuxc);),设置IO 普通IO或复用功能,设置上下拉等,最后设置IO输入输出。
微信图片_20221208173338.jpg
回复

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-3-19 12:16 , Processed in 0.115521 second(s), 20 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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