查看: 5688|回复: 2

[在线活动] 【中秋点灯】+K32W061充电状态指示灯

[复制链接]
  • TA的每日心情

    6 小时前
  • 签到天数: 2504 天

    连续签到: 129 天

    [LV.Master]伴坛终老

    25

    主题

    7791

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    15103
    最后登录
    2025-9-11
    发表于 2021-9-12 12:22:28 | 显示全部楼层 |阅读模式
         中秋佳节马上进入倒计时了,今年论坛的活动不是很多哟,既然奖品都是有关充电方面的产品,今天周末,发个贴,凑凑数吧。
         此次使用的是NXP的K32W061开发板,这块板在NXP的官方网站上有详细的资料,主打Zigbee应用。快速入门指南网址:https://www.nxp.com.cn/document/guide/getting-started-with-the-k32w061:GS-K32W061
           正如上述网址,我们拿到开发板后,搭建开发环境需要完成三步:
    ①、下载关于这块开发板的MCUXpresso SDK
    ②、安装工具链,即MCUXpresso IDE
    ③、安装Python 3.8  
          环境搭建:首先我们通过快速入门网址,获得下载MCUXpresso SDK的入口地址,点击“获取MCUXpresso SDK”按钮,提示您必须登录个人账号,因此必须注册基于NXP官网的个人账号,然后才能获取。
    下载组件.png
             登录后跳转到上图界面,我们选择需要开发使用的功能组件,勾选好后点击“Download SDK”按钮,即可跳转到下载SDK界面,点击“Download SDK Archive”,即可完成SDK包的下载。
    下载SDK.png
           下载完成后,将其解压出来,然后找到Flash编程器安装程序,目录在“tools\JN-SW-4401-DK6-Flash-Programmer”下,双击打开并安装到指定路径,然后将这个路径添加到windows的系统环境变量中。
    安装DK6.png
    添加环境变量.png
          然后进行MCUXpresso IDE的下载,链接一般会提供最新版的MCUXpresso IDE。安装完成后,启动工具,将之前下载好的SDK压缩包文件直接拖放到IDE的log输出窗口处,加载K32W061 SDK包。
    加载SDK.png
           然后在左边栏,导入K32W061 SDK工程文件
    导入SDK工程文件.png
            选择将要从SDK工程包中获取相应的功能项目,加载到MCUXpresso IDE中,此时会将整个工程拷贝到默认的工作路径中(C:XXX\Documents\MCUXpressoIDE_11.4.0_6237\workspace\k32w061dk6_led_blinky),当然该工作路径是可以在MCUXpresso IDE中进行修改的。
    选择工程.png
           演示Zigbee功能,一块K32W061开发板似乎是不太现实的,因此转而加载一个点灯的例程。电路原理图获悉,板上的两颗LED灯与MCU通过GPIO0与GPIO1相连接。
    LED原理图.png
    与MCU连接的管脚.png
          USB连接好开发板,然后在主函数中修改源码,如需串口打印,需要包含{#include "fsl_debug_console.h"}头文件,然后使用“PRINTF()”封装好的函数进行打印。这里需要注意的是,如果下载完程序后,然后打开“串口调试助手”,接着再进行调试、下载程序时,记得必须先关闭串口调试助手,否则会下载失败,因为板上的串口被“串口调试助手”所占用。代码修改如下:
    1. #include "board.h"
    2. #include "fsl_gpio.h"
    3. #include "pin_mux.h"
    4. #include <stdbool.h>

    5. #include "fsl_debug_console.h"
    6. /*******************************************************************************
    7. * Definitions
    8. ******************************************************************************/
    9. #define DEMO_USART USART0
    10. #define DEMO_USART_CLK_SRC kCLOCK_Fro32M

    11. /* Can't use GREEN LED as conflicts with SW2 usage */
    12. #define BOARD_LED_PORT BOARD_LED_RED1_GPIO_PORT
    13. #define BOARD_LED_PIN BOARD_LED_RED1_GPIO_PIN

    14. /*******************************************************************************
    15. * Variables
    16. ******************************************************************************/
    17. volatile uint32_t g_systickCounter;

    18. /*******************************************************************************
    19. * Code
    20. ******************************************************************************/
    21. void SysTick_Handler(void)
    22. {
    23.     if (g_systickCounter != 0U)
    24.     {
    25.         g_systickCounter--;
    26.     }
    27. }

    28. void SysTick_DelayTicks(uint32_t n)
    29. {
    30.     g_systickCounter = n;
    31.     while (g_systickCounter != 0U)
    32.     {
    33.     }
    34. }

    35. /*!
    36. * @brief Main function
    37. */
    38. int main(void)
    39. {
    40.     /* Define the init structure for the output LED pin*/
    41.     gpio_pin_config_t led_config = {
    42.         kGPIO_DigitalOutput,
    43.         0,
    44.     };

    45.     /* Board pin init */
    46.     /* Security code to allow debug access */
    47.     SYSCON->CODESECURITYPROT = 0x87654320;

    48.     /* reset FLEXCOMM for USART */
    49.     RESET_PeripheralReset(kFC0_RST_SHIFT_RSTn);
    50.     RESET_PeripheralReset(kGPIO0_RST_SHIFT_RSTn);

    51.     BOARD_BootClockRUN();
    52.     BOARD_InitDebugConsole();
    53.     BOARD_InitPins();

    54.     /* Init output LED GPIO. */
    55.     GPIO_PortInit(GPIO, BOARD_LED_PORT);
    56.     GPIO_PinInit(GPIO, BOARD_LED_PORT, BOARD_LED_PIN, &led_config);

    57.     /* Set systick reload value to generate 1ms interrupt */
    58.     if (SysTick_Config(SystemCoreClock / 1000U))
    59.     {
    60.         while (1)
    61.         {
    62.         }
    63.     }

    64.     while (1)
    65.     {
    66.         PRINTF("This is led_blinky project\n");
    67.         SysTick_DelayTicks(100U);
    68.         GPIO_PortSet(GPIO, BOARD_LED_PORT, 1u << BOARD_LED_PIN);
    69.         SysTick_DelayTicks(100U);
    70.         GPIO_PortClear(GPIO, BOARD_LED_PORT, 1u << BOARD_LED_PIN);
    71.         SysTick_DelayTicks(100U);
    72.         GPIO_PortSet(GPIO, BOARD_LED_PORT, 1u << BOARD_LED_PIN);
    73.         SysTick_DelayTicks(100U);
    74.         GPIO_PortClear(GPIO, BOARD_LED_PORT, 1u << BOARD_LED_PIN);
    75.         SysTick_DelayTicks(1000U);
    76.     }
    77. }
    复制代码
    在命令终端窗口,进入到“C:XXX\Documents\MCUXpressoIDE_11.4.0_6237\workspace\k32w061dk6_led_blinky\Debug”目录下,执行“DK6Programmer -l”查看当前存在的串口号,接着擦去板上的闪存,通过指令“DK6Programmer.exe -V5 -s COM8 -P 1000000 -p FLASH@0x00=”+“工程编译后生成的hex文件的路径”,这里可以将Debug文件夹下的hex文件直接拖至“DK6Programmer.exe -V5 -s COM8 -P 1000000 -p FLASH@0x00=”指令后面,然后回车,接着再输入“Y”。
    更新程序.png
          程序下载完成后,开发板会自动重新加载新程序,此时红色指示灯如同充电状态般闪烁。
    闪灯效果.gif
           此次点灯分享就告一段落,希望中秋佳节,大伙玩得happy,生活需要我们不断给自己充充电,加油。
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    16 小时前
  • 签到天数: 1883 天

    连续签到: 8 天

    [LV.Master]伴坛终老

    203

    主题

    3万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    112746
    最后登录
    2025-9-10
    发表于 2021-9-12 22:12:44 | 显示全部楼层
    这个颜色的板子不多见呢 1.png 2.png 3.png 5.png 9.png 7.png 6.png 4.png 8.png 10.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-7-11 08:53
  • 签到天数: 301 天

    连续签到: 2 天

    [LV.8]以坛为家I

    3945

    主题

    7566

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    40281
    最后登录
    2025-9-11
    发表于 2021-9-13 11:01:23 | 显示全部楼层
    感谢分享!
    qiandao qiandao
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-9-11 17:08 , Processed in 0.083297 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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