MicroPython:Библиотеки/pyb/Класс CAN/CAN.rxcallback(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =CAN.rxcallback(fifo, fun)<ref>[http://docs.microp...»)
 
Нет описания правки
 
Строка 5: Строка 5:
=CAN.rxcallback(fifo, fun)<ref>[http://docs.micropython.org/en/latest/library/pyb.CAN.html docs.micropython.org - class CAN – controller area network communication bus]</ref>=
=CAN.rxcallback(fifo, fun)<ref>[http://docs.micropython.org/en/latest/library/pyb.CAN.html docs.micropython.org - class CAN – controller area network communication bus]</ref>=


<syntaxhighlight lang="python" enclose="div">
<syntaxhighlight lang="python">
CAN.rxcallback(fifo, fun) – регистрирует функцию, которая будет вызвана при приеме сообщения в пустой ''FIFO''.
CAN.rxcallback(fifo, fun) – регистрирует функцию, которая будет вызвана при приеме сообщения в пустой ''FIFO''.
</syntaxhighlight>
</syntaxhighlight>
Строка 18: Строка 18:
Пример использования ''CAN.rxcallback(fifo, fun)'':
Пример использования ''CAN.rxcallback(fifo, fun)'':


<syntaxhighlight lang="python" enclose="div">
<syntaxhighlight lang="python">
def cb0(bus, reason):
def cb0(bus, reason):
   print('cb0')
   print('cb0')

Текущая версия от 17:31, 24 мая 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


CAN.rxcallback(fifo, fun)[1]

CAN.rxcallback(fifo, fun)  регистрирует функцию, которая будет вызвана при приеме сообщения в пустой ''FIFO''.
  • fifoFIFO, получающий сообщение.
  • fun – функция, которая будет вызвана, когда FIFO перестанет быть пустым.

Функция обратного вызова принимает два аргумента. Первый – это сам объект CAN, а второй – это целое число, информирующее о причине запуска функции обратного вызова:

  • «0» – сообщение принято в пустой FIFO.
  • «1»FIFO заполнен.
  • «2» – сообщение было потеряно из-за полного FIFO.

Пример использования CAN.rxcallback(fifo, fun):

def cb0(bus, reason):
  print('cb0')
  if reason == 0:
      print('в режиме ожидания')
  if reason == 1:
      print('полный')
  if reason == 2:
      print('переполнение')

can = CAN(1, CAN.LOOPBACK)
can.rxcallback(0, cb0)

См.также

Внешние ссылки