STM32多任务模式三个任务会并行运行吗?

2019-07-14 15:45发布

我要做一个控制程序,处理器是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);

}


这时什么意思,这样三个任务会并行运行吗??如果三个任务种,任意一个任务接收到外部触发条件,就会运行该任务吗??要怎么样才能实现三个任务并行运行!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
Green_LJ
1楼-- · 2019-07-15 00:52
你看到的应该是跑的系统。
“不影响“,不跑系统这个三个也可以正常工作。
csw_ying
2楼-- · 2019-07-15 04:15
 精彩回答 2  元偷偷看……
HELLOKITTYNEW
3楼-- · 2019-07-15 08:19
本帖最后由 zhjb1 于 2017-2-22 06:21 编辑

单片机下很难实现真正意义上的并行工作,采用线程也不例外。如果这3个任务都采用中断方式,分片时任务,有可能在外观下是并行工作模式。想想看是吗?
hanlinceshi
4楼-- · 2019-07-15 11:30
我觉得没有必要用操作系统。

直接用中断功能就可以完成了。顶多在主程序的大循环中,设置几个状态标志位。
lfy1980
5楼-- · 2019-07-15 16:01
stm32所有都是串行工作的,不可能实现并行运行。但是用中断或者时间片的话,或者OS的任务切换等,可以看做是在“并行”运算。

一周热门 更多>