IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 使用MCUXpresso ID在ETiny EVB_AIoT开发板实现点灯 -> 正文阅读

[嵌入式]使用MCUXpresso ID在ETiny EVB_AIoT开发板实现点灯

一,新建工程。

参考:

(2条消息) MCUXpresso IDE新建工程_m0_38012497的博客-CSDN博客icon-default.png?t=M0H8https://blog.csdn.net/m0_38012497/article/details/122559646二,led输出程序配置。

? ? ? ? 参考:????????(2条消息) 痞子衡嵌入式:把玩i.MXRT1062 TencentOS Tiny EVB_AIoT开发板(1) - 开发环境搭建与点灯..._痞子衡嵌入式-CSDN博客icon-default.png?t=M0H8https://blog.csdn.net/Henjay724/article/details/1221515111,选择led输出口的GPIO。? ? ? ?

????????“SDK 里原始代码主要是适配恩智浦官方 MIMXRT1060-EVK 开发板的,官方开发板上连接 LED 的管脚是 GPIO_AD_B0_09(即 GPIO1[9]),而我们 EVB_AIoT 开发板上连接 LED 的管脚是 GPIO_SD_B1_02”? ? ? ??

2,使用IDE自带工具MCUXpresso Config Tool 配置所用的GPIO。?? ?

? ? ? 设置???BOARD_USER_LED_GPIO为标识符(相当于与GPIO绑定),使用这个变量来驱动led。

?“在 Pin Tool 组件左侧 Pins 窗口里将原来 GPIO_AD_B0_09 勾选去掉,重新选择 GPIO_SD_B1_02,并且配置为 GPIO3_IO02,然后在下面 Routing Details 窗口里进一步配置其 PAD 属性为 Output,操作过程中可以实时看到 pin_mux.c 源文件里的代码变化,最后点击上方 Update Code 按钮,代码会自动更新,至此代码改动就完成了。”

在切换到Pin Tool 配置时,注意选择的当前工程是哪个,免得配置完了,不是想配置的那个工程。

??Pin Tool 自动修改pin_mux.c 和pin_mux.h里面的代码,GPIO的初始化函数为BOARD_InitPins(),原先void BOARD_InitPins(void)是空函数,更新代码后变为:

void BOARD_InitPins(void) {
  CLOCK_EnableClock(kCLOCK_Iomuxc);           

  /* GPIO configuration of BOARD_USER_LED_GPIO on GPIO_SD_B1_02 (pin M3) */
  gpio_pin_config_t BOARD_USER_LED_GPIO_config = {
      .direction = kGPIO_DigitalOutput,
      .outputLogic = 0U,
      .interruptMode = kGPIO_NoIntmode
  };
  /* Initialize GPIO functionality on GPIO_SD_B1_02 (pin M3) */
  GPIO_PinInit(GPIO3, 2U, &BOARD_USER_LED_GPIO_config);

  IOMUXC_SetPinMux(IOMUXC_GPIO_SD_B1_02_GPIO3_IO02, 0U); 
  IOMUXC_GPR->GPR28 = ((IOMUXC_GPR->GPR28 &
    (~(BOARD_INITPINS_IOMUXC_GPR_GPR28_GPIO_MUX3_GPIO_SEL_MASK))) 
      | IOMUXC_GPR_GPR28_GPIO_MUX3_GPIO_SEL(0x00U) 
    );
}

但是board.c和board.h代码不自动更新,注意相关代码要重新宏定义,如下

#ifndef BOARD_USER_LED_GPIO
#define BOARD_USER_LED_GPIO GPIO3
#endif
#ifndef BOARD_USER_LED_GPIO_PIN
#define BOARD_USER_LED_GPIO_PIN (2U)

3,延时函数。

SDK_DelayAtLeastUs(100000, SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY);

延时函数定义在fsl_common_arm.c文件里。

4,main函数里修改代码如下。

while(1) {
        i++ ;
        /* 'Dummy' NOP to allow source level single stepping of
            tight while() loop */
        PRINTF("Hello World\n");

        GPIO_PinWrite(BOARD_USER_LED_GPIO, BOARD_USER_LED_GPIO_PIN, 0U);
        SDK_DelayAtLeastUs(100000, SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY);
		GPIO_PinWrite(BOARD_USER_LED_GPIO, BOARD_USER_LED_GPIO_PIN, 1U);
		SDK_DelayAtLeastUs(100000, SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY);
        __asm volatile ("nop");
    }

三,调试。

1,蓝色小虫是调试模式。

?进入debug模式,按 F8(Resume) 键程序便直接跑起来,

?2,设置在RAM 里调试程序

?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-02-05 21:53:26  更:2022-02-05 21:53:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:47:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码