标题: 关于单片机裸跑程序改操作系统的问题 [打印本页]

作者: pql2438547    时间: 2020-3-3 14:35
标题: 关于单片机裸跑程序改操作系统的问题
自从了解到操作系统和一般的单片机裸跑程序的区别后就感觉嵌入式有了系统会变得高大上,同时最近做了一个项目,程序的结构大概是void main()
{
   初始化定时器,ADC,OLED屏等;
  while(1)
  {
            处理按键事件;
       温度ADC转换;
        显示画面;
  }
}

如果将他们改为操作系统的一个个任务,比如:

void main()
{
   初始化定时器,ADC,OLED屏等;
  while(1)
  {

   }
}


void Task0()
{
处理按键事件
}
void Task1()
{
温度ADC转换
}

void Task2()
{
  显示画面
}



是否会比原来更“高效”呢?
或者说两种方式又有什么区别呢?


作者: lovexulu    时间: 2020-3-4 18:23
小系统都会牵扯到函数重入问题,且使用中断要十分小心。效率得看你裸机任务数量,如果就两三个任务且并不十分要求实时性的话还是裸机跑效率高。
作者: huang123456789    时间: 2020-3-4 22:16
第一种是个整体,第二种你可以单独另外调用,在处理这个任务上没有区别,但如果处理多个这样的任务的话第二种更好
作者: vvyywy    时间: 2020-3-6 14:15
如果任务程序没更改的话,最高效的还是原来的裸机程序。
操作系统切换任务也是要切换时间的,储存任务块也需要一定的资源。
用上 操作系统只是为了写任务方便,不用安排乱七八糟的逻辑。
作者: qcm755    时间: 2020-3-6 14:52
第一种是个整体,第二种你可以单独另外调用




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1