目前 ROS 提供的系统调用有如下四个:
ros_init(): 初始化系统时钟等
ros_create_task(*task, task_func, priority, stack, stack_size): 创建任务
ros_delay(ticks): 挂起任务一段时间,主动让出CPU
ros_schedule(): 任务调度,不必主动调用
功能十分有限和简洁简陋,之后会考虑提供更多系统调用,丰富任务间协同通信的能力:
ros_yield(x): 挂起任务并返回值,唤醒任意其他的任务
ros_join(*task): 等待其他任务结束
- Channel: 任务间数据传递,类似 Go 中的
chan
- Mutex: 互斥锁
目前 ROS 提供的系统调用有如下四个:
ros_init(): 初始化系统时钟等ros_create_task(*task, task_func, priority, stack, stack_size): 创建任务ros_delay(ticks): 挂起任务一段时间,主动让出CPUros_schedule(): 任务调度,不必主动调用功能十分有限和
简洁简陋,之后会考虑提供更多系统调用,丰富任务间协同通信的能力:ros_yield(x): 挂起任务并返回值,唤醒任意其他的任务ros_join(*task): 等待其他任务结束chan