创建一个线程的函数 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) 调用这个函数时,系统会从动态内存堆中分配一个线程句柄(线程控制块),并按照参...
rt_uint8_t number; rt_uint8_t high_mask; #endif rt_uint32_t number_mask; 注:只有当用户定义的最大优先级大于32个时,才会存在number和high_mask两个成员变量,这两个成员变量及另一个成员变量number_mask都是用来作位图运算用的, 只不过后面那个成员变量number_mask不管用户定义的优先级个数大于32还是在...
rt_uint8_tstat;/* 线程状态*/ /* 优先级*/ rt_uint8_tcurrent_priority;/* 当前优先级*/ rt_uint8_tinit_priority;/* 初始优先级*/ rt_uint32_tnumber_mask; ... rt_ubase_tinit_tick;/* 线程初始化计数值*/ rt_ubase_tremaining_tick;/* 线程剩余计数值*/ structrt_timerthread_timer;/* ...
rt_uint8_t high_mask; /**< 线程位号掩码: (1 << 位号) 位号: (current_priority & 7) */ endif rt_uint32_t number_mask; /**< 组号掩码: (1 << 组号) */ if RT_THREAD_PRIORITY_MAX > 32 thread->number = thread->current_priority >> 3; /* 5bit */ thread->number_mask = ...
uint8_tinit_priority;/* 初 始 优 先 级 */rt_uint32_tnumber_mask;...rt_ubase_tinit_tick...
(rt_uint32_t)&to_thread->sp); } else { /** 如果中断嵌套的层数不为0,说明是在中断处理中进行的任务切换 * 调用中断上下文切换函数 */ RT_DEBUG_LOG(RT_DEBUG_SCHEDULER, ("switch in interrupt\n")); rt_hw_context_switch_interrupt((rt_uint32_t)&from_thread->sp, ...
开发周期短,采用STM32芯片、稳定性高、实时性高。健壮、高效、可靠性高、实时性强。提供丰富的驱动。 四、使用多线程平台进行开发的要点 1、“多线程”:RT-Thread操作系统是基于多线程的实时操作系统。线程是RT-Thread的线程管理是进行下一步开发的基础。
rt_uint8_t high_mask; #endif rt_uint32_t number_mask; #if defined(RT_USING_EVENT)//与IPC机制事件相关的一些参数 /* thread event */ rt_uint32_t event_set; //此线程接收到的事件 rt_uint8_t event_info;//此线程的事件过滤信息,用于过滤事件,只保留感兴趣的事件 ...
structrt_audio_caps{intmain_type;/* 命令主类型 */intsub_type;/* 命令子类型 */union{rt_uint32_tmask;intvalue;/* 参数值 */structrt_audio_configureconfig;/* 音频参数信息 */}udata;}; 设置播放的音频参数信息 设置播放的采样率、采样通道、以及采样位数。
typedef long rt_base_t; /**< Nbit CPU related date type */ typedef unsigned long rt_ubase_t; /**< Nbit unsigned CPU related data type */typedef rt_base_t rt_err_t; /**< Type for error number */ typedef rt_uint32_t rt_time_t; /**< Type for time stamp */ ...