我要做一个控制程序,处理器是
STM32F103VE,串口
通信,本机按键,网络通信。三个任务独立工作,互不影响!!看到别人这样做:
sta
tic void UARTTasK(void *p_arg);
static void LocalTask(void *p_arg);
static void NetTask(void *p_arg);
int main(void)
{
。。。
。。。
。。。
OSTasK(UARTTasK,LocalTask,NetTask);
}
这时什么意思,这样三个任务会并行运行吗??如果三个任务种,任意一个任务接收到外部触发条件,就会运行该任务吗??要怎么样才能实现三个任务并行运行!
“不影响“,不跑系统这个三个也可以正常工作。
单片机下很难实现真正意义上的并行工作,采用线程也不例外。如果这3个任务都采用中断方式,分片时任务,有可能在外观下是并行工作模式。想想看是吗?
直接用中断功能就可以完成了。顶多在主程序的大循环中,设置几个状态标志位。
一周热门 更多>