0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【国民技术N32项目移植】N32L43XRL-STB串口调试 nr_micro_shell移植

flying 来源:下下限 作者:下下限 2023-01-05 09:10 次阅读

源码路径

  • https://gitee.com/nrush/nr_micro_shell.git
    git clone https://gitee.com/nrush/nr_micro_shell.git
    

移植

1、源码文件拷贝

image.png

  • 只需要 inc 以及 src 两个文件夹内容

2、将两个文件夹中的c、h文件添加到工程中

image.png

3、修改配置文件 nr_micro_shell_config.h

  • 可见源码中readme.md说明
  • 因为裸机下移植,需要定义 #define NR_MICRO_SHELL_SIMULATOR
  • 开启 #define NR_SHELL_USING_EXPORT_CMD 可更好的使用该shell

4、使用(main.c)中调用

  • 初始化必要的串口驱动(可见 【国民技术N32项目移植】N32L43XRL-STB 串口调试 使用printf打印日志)
  • 定义自己需要的调试命令,如下:我定义了两个命令用来打开 led和关闭led的命令(命令为 on和off)
    void led_on_command_funtion(char argc, char *argv)
    {
        log_func();
    
        GPIO_SetBits(GPIOB, GPIO_PIN_4);
    }
    void led_off_command_funtion(char argc, char *argv)
    {
        log_func();
    
        GPIO_ResetBits(GPIOB, GPIO_PIN_4);
    }
    NR_SHELL_CMD_EXPORT(on, led_on_command_funtion);
    NR_SHELL_CMD_EXPORT(off, led_off_command_funtion);
    NR_SHELL_CMD_EXPORT(off, led_off_command_funtion);
    
    NR_SHELL_CMD_EXPORT(off, led_off_command_funtion);
  • 主函数中调用如下
    int main(void)
    {
        log_init(); //uart驱动初始化
        shell_init();//shell初始化
        unsigned int i = 0;
    
        while (1)
        {
            if (USART_GetFlagStatus(USART1, USART_FLAG_RXDNE) != RESET)
            {
                char ch = USART_ReceiveData(USART1);//读取一个字节
                // log_debug("recv %x", ch);
                shell(ch);//shell执行
            }
        }
    }
    }
    
    }

使用

  • 编译下载 后,通过串口工具我查看到初始化打印

    image.png

  • 开源代码,初始化打印,以及提示符可以自己修改

  • 配合上 shell工具使用更 happy

  • 支持tab补全,查看命令等

    image.png
    审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 移植
    +关注

    关注

    1

    文章

    376

    浏览量

    28104
  • N32
    N32
    +关注

    关注

    0

    文章

    18

    浏览量

    7188
  • 串口调试
    +关注

    关注

    2

    文章

    267

    浏览量

    24680
  • 国民技术
    +关注

    关注

    2

    文章

    307

    浏览量

    20353
收藏 人收藏

    评论

    相关推荐

    国民技术N32项目移植】BMS项目移植

    移植bmsN32国民技术
    Angel_YY
    发布于 :2023年02月27日 15:53:27

    nr_micro_shell的优点是什么

    nr_micro_shell — 在单片机上体验linux shell命令行,自动补全,历史命令,自定义命令单片机在进行实际调试和维护时,常常需要与单片机进行交互,获取或设置某些参数,以了解系统工作
    发表于 01-12 06:58

    N32L43XRL-STB开发板硬件使用指南

    N32L43XRL-STB开发板硬件使用指南开发板用于国民技术股份有限公司32位N32L43XRL系列MCU的开发。本文档详细描述了N32L43XR
    发表于 11-01 06:48

    国民技术N32项目移植N32G345XVL-STB项目移植 ——开箱及开发环境搭建

    感谢Elecfans和国民技术,能够参与国民技术N32项目
    发表于 12-03 17:11

    国民技术N32项目移植N32L43XRL-STB项目移植之基于IIC接口的OLED

    IIC接口的OLED是平时实验中常用的显示设备,和开发板只需要四根线连接,VCC、GND、SDA、SCL。而且所使用的IIC经常采用软件模拟的方式实现。本次移植就是利用N32L436的两个IO口模拟
    发表于 12-23 08:35

    【精品合集】国民技术N32开源移植挑战赛作品合集

    N32G45XVL-STB )【国民技术N32项目移植】智能温湿度监测系统
    发表于 01-10 13:59

    国民技术N32项目移植】5. ADC应用以及跳坑总结

    SSD1306软件包【国民技术N32项目移植】4. 硬件定时器实现2ms定时前言本文讲解如何使用N
    发表于 02-02 21:45

    国民技术N32项目移植项目提交-物联网心率监控设备

    过往分享【国民技术N32项目移植】1. 新建工程+LED与按键跳坑总结【国民
    发表于 02-12 16:41

    国民技术N32项目移植】 RTT tcpclient测试

    国民技术N32项目移植】RTT AT ESP8266移植
    发表于 02-16 17:38

    国民技术N32项目移植】FOC项目移植之环境搭建

    FOC项目移植之环境搭建很高兴能够参加国民技术N32开源移植挑战赛,本人这次将在RT-Threa
    发表于 02-24 13:53

    国民技术N32项目移植】步进电机加减速项目移植

    本文主要是对正点原子的STM32F4电机开发板的步进电机加减速程序进行移植实验.本项目移植用的开发板是国民技术
    发表于 02-27 21:01

    国民技术N32项目移植】easypower 结论

    经过简单的移植调试,比较顺利的完成。本设计比较简单,国民技术的软件库和例程也比较完善。所以还是容易的。只是在原来设计的板子上做移植和验证。
    发表于 02-28 23:49

    国民技术N32G43XRL-STB开发板资料

    国民技术N32G43XRL-STB开发板资料
    发表于 11-07 15:33 10次下载

    N32L43XRL-STB (LQFP64) 开发板

    N32L43XRL-STB (LQFP64) 开发板
    发表于 11-10 19:51 0次下载
    <b class='flag-5'>N32L43XRL-STB</b> (LQFP64) 开发板

    国民技术N32项目移植N32L43XRL-STB串口调试 使用printf打印日志

    国民技术N32项目移植N32L43XRL-STB串口
    的头像 发表于 01-05 09:08 1582次阅读
    【<b class='flag-5'>国民</b><b class='flag-5'>技术</b><b class='flag-5'>N32</b><b class='flag-5'>项目</b><b class='flag-5'>移植</b>】<b class='flag-5'>N32L43XRL-STB</b><b class='flag-5'>串口</b><b class='flag-5'>调试</b> 使用printf打印日志