zoukankan      html  css  js  c++  java
  • [RTT例程练习] 6.2 在 Finsh 中运行自定义函数

    可以直接在Finsh中运行自己定义的函数。官方有三种方式,我觉得第二种比较方便,其他就不介绍了。

    首先需要在application.c 中包含 finsh.h 头文件,然后在函数下方添加宏

    FINSH_FUNCTION_EXPORT(fun_with_arg, function with a argument);
    程序

    #include <rtthread.h>
    
    #include <finsh.h>
    
    static rt_thread_t tid = RT_NULL;
    
    static void thread_entry(void *parameter)
    {
        while (1)
        {
            rt_thread_delay(1000);
        }
    }
    
    void fun_with_arg(int a)
    {
        rt_kprintf("fun's arg is: %d.\n", a);
    }
    FINSH_FUNCTION_EXPORT(fun_with_arg, function with a argument);
    
    int rt_application_init()
    {
    
        
        tid = rt_thread_create("tid",
            thread_entry, RT_NULL,
            1024,
            8, 50);
        if (tid != RT_NULL)
            rt_thread_startup(tid);
        
        return 0;
    }

    可以看到这是一个带参的函数。

    在Finsh中

    finsh>>list() 
    --Function List: 
    fun_with_arg -- funciton with a argument 
    list_mem -- list memory usage information 
    hello -- say hello world 
    version -- show RT-Thread version information 
    list_thread -- list thread 
    list_sem -- list semaphone in system 
    list_event -- list event in system 
    list_mutex -- list mutex in system 
    list_mailbox -- list mail box in system 
    list_msgqueue -- list message queue in system 
    list_mempool -- list memory pool in system 
    list_timer -- list timer in system 
    list_device -- list device in system 
    list -- list all symbol in system 
    [l] fun 
    --Variable List: 
    dummy -- dummy variable for finsh 
    0, 0x00000000 

    可以看到,我们的
    fun_with_arg
    已经被添加其中。

    然后试着在Finsh中运行

    fun_with_arg(7)
    就能得到

    finsh>>fun_with_arg(7) 
    fun's arg is: 7 
    0, 0x00000000 

    
    

  • 相关阅读:
    oracle 内连接、外连接、自然连接、交叉连接练习
    oracle语句练习
    简单的oracle sql语句练习
    CountDownLatch 使用方法
    T1,T2,T3 三个线程顺序执行
    【2018 校招真题】斐波那契数列
    使用自己的域名解析 cnblogs 博客
    在 github 中新建仓库后,如何上传文件到这个仓库里面。
    数据库常用语句整理
    使用 JQuery 实现将 table 按照列排序
  • 原文地址:https://www.cnblogs.com/lyyyuna/p/4123912.html
Copyright © 2011-2022 走看看