使用rtthread感觉很迷惑,求大神解决,指点

2019-07-20 18:51发布

一个关于rtthread的问题,typedef rt_err_t( ind)(rt_device_t,rt_size_t);这行代码如何理解,还有就是怎么才能用好rtthread
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
aozima
1楼-- · 2019-07-20 21:45
这代码来自哪里? RT-Thread发布版中好像没搜到这样的代码。
[mw_shl_code=c,true]typedef rt_err_t( ind)(rt_device_t,rt_size_t);[/mw_shl_code]
应该是定义一个函数指针,ind 估计是 indicate 的缩写。
C语言中很常见的回调函数(callback)的写法.

还有就是怎么才能用好rtthread
只能说多读多写代码,然后实际多做项目了。
像上面这个属于基本C语言常识。
正点原子
2楼-- · 2019-07-21 00:59
帮顶
aozima
3楼-- · 2019-07-21 03:13
idle.c里面的示例。

idle.c[mw_shl_code=c,true]#ifdef RT_USING_HOOK
static void (*rt_thread_idle_hook)();

void rt_thread_idle_sethook(void (*hook)(void))
{
    rt_thread_idle_hook = hook;
}

static void rt_thread_idle_entry(void *parameter)
{
    while (1)
    {
        #ifdef RT_USING_HOOK
        if (rt_thread_idle_hook != RT_NULL)
            rt_thread_idle_hook();
        #endif
    }
}
#endif /* RT_USING_HOOK */
[/mw_shl_code]

用法
[mw_shl_code=c,true]static void idle_hook(void)
{
    __WFI(); /* CPU睡眠 */
}

void rt_hw_board_init()
{
        /* other initial.... */

        rt_thread_idle_sethook(idle_hook);
}[/mw_shl_code]
aozima
4楼-- · 2019-07-21 06:46
 精彩回答 2  元偷偷看……
小陀螺爱炒蛋
5楼-- · 2019-07-21 10:05
 精彩回答 2  元偷偷看……

一周热门 更多>