User Tools

Site Tools


module:micropython:esp32checkthreading

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
module:micropython:esp32checkthreading [2021/12/08 11:23] omdevelopmodule:micropython:esp32checkthreading [2022/09/13 11:58] (current) – external edit 127.0.0.1
Line 8: Line 8:
 ] ]
  
 +
 +
 +
 +
 +
 +
 +
 +===== Benutzung =====
 +Beispiel für die Einbindung der MicroPython-Library **Thread.py** :
 +<code python>
 +#
 +import _thread
 +#
 +class CThread():
 +  #
 +  def __init__(self, threadid, onexecute):
 +    self.ID = threadid
 +    self.OnExecute = onexecute
 +    self.IsBusy = False
 +    return
 +  #
 +  def Start(self):
 +    self.IsBusy = True
 +    _thread.start_new_thread(self.OnExecute, [self])
 +    return
 +  #
 +  def Abort(self):
 +    self.IsBusy = False
 +    return
 +  #
 +</code>
 +Wichtig: Die Library **Thread.py** muss im FileSystem des MicroControllers vorhanden sein!
 +
 +Aufrufendes Programm **Esp32CheckThreading.py** :
 +<code python>
 +#
 +import time
 +#
 +import Thread
 +#
 +#-----------------------------------------
 +def CBOnExecute(thread):
 +  print('CBOnExecute[{}]: begin'.format(thread.ID))
 +  I = 0
 +  while (thread.IsBusy):
 +    I += 1
 +    print("CBOnExecute[{}]: Hello({})!".format(thread.ID, I))
 +    time.sleep(1)
 +  print('CBOnExecute[{}]: end'.format(thread.ID))
 +#
 +#-----------------------------------------
 +if ('__main__' == __name__):
 +  print('*** Esp32CheckThreading: begin')
 +  T = Thread.CThread('T1', CBOnExecute)
 +  T.Start()
 +  time.sleep(5)
 +  T.Abort()
 +  time.sleep(5)
 +  print('*** Esp32CheckThreading: end')
 +#
 +</code>
 +
 +Run-Ausgabe im Terminal:
 +<code>
 +>>> Running ..\Esp32Threading.py
 +>>>
 +>>> *** Esp32CheckThreading: begin
 +CBOnExecute[T1]: begin
 +CBOnExecute[T1]: Hello(1)!
 +CBOnExecute[T1]: Hello(2)!
 +CBOnExecute[T1]: Hello(3)!
 +CBOnExecute[T1]: Hello(4)!
 +CBOnExecute[T1]: Hello(5)!
 +CBOnExecute[T1]: end
 +*** Esp32CheckThreading: end
 +♦♦>
 +MicroPython v1.17 on 2021-09-02; ESP32 module with ESP32
 +Type "help()" for more information.
 +>>>
 +</code>
 +
 +
 +===== Version =====
 +
 +{{:module:micropython:2112081352_Esp32CheckThreading_01V01.zip | 2112081352_Esp32CheckThreading_01V01.zip}}
  
 ----- -----
module/micropython/esp32checkthreading.1638959016.txt.gz · Last modified: 2021/12/08 12:23 (external edit)