STM32/STM8技术william hill官网
直播中

刘羽扬

7年用户 201经验值
私信 关注
[问答]

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

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

}


这时什么意思,这样三个任务会并行运行吗??如果三个任务种,任意一个任务接收到外部触发条件,就会运行该任务吗??要怎么样才能实现三个任务并行运行!

回帖(6)

阮浙临

2018-11-26 08:47:46
这是啥os啊
举报

贾飞小

2018-11-26 09:02:14
你看到的应该是跑的系统。
“不影响“,不跑系统这个三个也可以正常工作。
举报

池鹄展

2018-11-26 09:20:23
这个是UCOS嵌入式操作系统,你现在就需要这个嵌入式操作系统,先把正点原子关于嵌入式操作系统的文章读下,建立个大概的印象,然后在 学习使用,只有在这个系统下,你同时使用三个部分的任务才容易实现。
举报

李蕊

2018-11-26 09:36:23
本帖最后由 zh***1 于 2017-2-22 06:21 编辑

单片机下很难实现真正意义上的并行工作,采用线程也不例外。如果这3个任务都采用中断方式,分片时任务,有可能在外观下是并行工作模式。想想看是吗?
举报

康永清

2018-11-26 09:52:08
我觉得没有必要用操作系统。

直接用中断功能就可以完成了。顶多在主程序的大循环中,设置几个状态标志位。
举报

张婧怡

2018-11-26 10:00:20
stm32所有都是串行工作的,不可能实现并行运行。但是用中断或者时间片的话,或者OS的任务切换等,可以看做是在“并行”运算。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分