MicroPython:Библиотеки/pyb/Класс CAN/CAN.rxcallback(): различия между версиями
Материал из Онлайн справочника
Myagkij (обсуждение | вклад) (Новая страница: «{{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 | <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 | <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''.
- fifo – FIFO, получающий сообщение.
- 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)