个人对于rt_thread中函数的理解和例子

//此文章会不间断进行更新,速度为作者学习的速度(捂脸)

1,rt_pin_mode()

此函数是用来完成对引脚的选择和控制输入还是输出模式。

示例:rt_pin_mode(16,PIN_MODE_OUTPUT)

2,rt_pin_write()

此函数是用来完成对引脚的输出高低电平的控制。

示例:rt_pin_write(16,PIN_LOW)

3,rt_mdelay()

此函数是用来将线程挂起来完成延时操作,延时单位为毫秒(ms)。

示例:rt_mdelay(500)

4,rt_delay()

此函数是用来线程挂起来完成延时操作,延时单位为系统滴答,一般我们设置系统时钟滴答的频率为100hz,也就是一个滴答为10ms。

示例:rt_delay(50)

5,rt_thread_create()

此函数是用来创建动态线程用的,具体方式如下:

rt_thread_t rt_thread_create(const char *name,
                             void (*entry)(void *parameter),
                             void       *parameter,
                             rt_uint32_t stack_size,
                             rt_uint8_t  priority,
                             rt_uint32_t tick)

创建一个动态线程分为这么几步:1,给出线程名字。2,设置入口函数。3,设置函数输入参数。4,定义线程栈的大小。5,设置线程优先级,数字越小优先级越高,0为最高优先级。6,配置线程时间片。

示例:

rt_threat jun=rt_thread_create("junbian",junbian,RT_NULL,512k,5,10)

在示例中假定我们创建的入口函数名称为junbian,RT_NULL所表示的意思为无输入参数。

6,rt_thread_starup()

此函数是用来启动线程的。

示例:rt_thread_starup(jun)

在这里jun假定为线程的句柄。

7,MSH_CMD_EXPORT()

这个严格意义上来说并不是函数而是命令,但是在编程时运用广泛所以也就把它和函数写一块了。可以通过这条命令来来将你所需要执行的线程或函数发送到MSH命令行,然后msh命令列表会通过串口进行输出。

示例:MSH_CMD_EXPORT(sat8,sat8 is the best)

在这里假定sat8为线程名字,逗号后面为用户自己定义的,你可以把注释或者标签写进去,在这里我们写的是sat8 is the best。

8,rt_pin_attach_irq()

此函数是用来绑定引脚中断的回调函数。什么是引脚中断回调函数?当一个引脚猝发某种情况时会将当前任务中断并完成用户指定的另一个任务。

rt_pin_attach_irq(rt_int32_t pin, rt_uint32_t mode,
                             void (*hdr)(void *args), void  *args)

这是官方给出的格式,首先确定需要绑定的引脚,再选择触发中断的条件,接着选择触发条件时需要执行的函数,最后设置中断回调函数的参数(不需要时设置为RT_NULL)。

示例:rt_pin_attach_enable(0,PIN_IRQ_MODE_FALLING,jun_ready,RT_NULL)

9,rt_pin_irq_enable()

此函数是用来使能引脚中断的,当我们绑定完引脚中断的回调函数后需要使能引脚中断,也就是给出信号让引脚开始执行中断并执行中断函数。

rt_pin_irq_enable(rt_base_t pin, rt_uint32_t enabled)

这是官方给出的格式,首先设置引脚,再设置状态,状态有两种enable和disable。

示例: rt_pin_irq_enable(0,PIN_IRQ_ENABLE);

“个人对于rt_thread中函数的理解和例子”的一个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注

3 × 5 =