战神V1 发表于 2017-2-18 21:47:45

求大神指点 ,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);

}


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

阿莫西林 发表于 2017-2-19 12:25:49

这是啥os啊

freeelectron 发表于 2017-2-19 15:13:10

你看到的应该是跑的系统。
“不影响“,不跑系统这个三个也可以正常工作。

五哥1 发表于 2017-2-21 11:31:45

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

zhjb1 发表于 2017-2-21 18:47:10

本帖最后由 zhjb1 于 2017-2-22 06:21 编辑

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

liucw99 发表于 2017-2-21 22:39:41

我觉得没有必要用操作系统。

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

sunnydevil 发表于 2017-2-22 08:28:07

stm32所有都是串行工作的,不可能实现并行运行。但是用中断或者时间片的话,或者OS的任务切换等,可以看做是在“并行”运算。
页: [1]
查看完整版本: 求大神指点 ,STM32多任务模式