
我要做一个控制程序,处理器是STM32F103VE,串口通信,本机按键,网络通信。三个任务独立工作,互不影响!!看到别人这样做: static 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个任务都采用中断方式,分片时任务,有可能在外观下是并行工作模式。想想看是吗?
直接用中断功能就可以完成了。顶多在主程序的大循环中,设置几个状态标志位。