OpenHarmony开源社区
直播中

jinyi7016

12年用户 6608经验值
擅长:处理器/DSP
私信 关注
[经验]

【鸿湖万联启鸿开发板试用体验】“当开机时”与“当开机时循环”的坑

刚打开网页界面时,会有两个代码块,按程序员的理解,“当开机时”是初始化任务;“当开机时循环”是程序中的while(1)任务,

clipboard.png

这两个积木块,其实并不是初始化与while(1)的关系。

刚开始并没有看python的代码,拼好代码块后,程序运行的总是不对,也找不到原因,直到看到python。

看一下python代码。

import QHos

def pre_run():
  return

def aftrer_run():
  return

def powerOn():
  pass

def loopProcess():
  while True:


QHos.task_create("loopProcess",loopProcess)
QHos.task_start("loopProcess")

powerOn()

从上面代码可以看出。

“当开机时”对应的是powerOn()

“当开机时循环”对应的是一个loopProcess函数,这个函数通过task_create与task_start当成一个任务来执行,类似于RTOS中的进程,这进程是在运行powerOn()之前就开始运行了的。这样,当程序开始运行时,是先运行了“当开机时循环”,再运行“当开机时”听程序。

也没有初始化这样的步骤。

并不清楚,这样的设计逻辑是出于什么原因,但我使用的其他的类似功能的图形化编译产品并没有这样的设计的,个人认为,这种逻辑并不适合教育行业或是编程入门的那种课程。

可以看一下下面这种逻辑,感觉这种逻辑是一种比较清晰的,也适合学习。

clipboard.png

更多回帖

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