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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[]</ref>= <syntaxhighlight lang="python"...»)
 
Нет описания правки
 
(не показано 16 промежуточных версий 1 участника)
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


=<ref>[]</ref>=
=Класс CAN – коммуникационная шина CAN<ref>[http://docs.micropython.org/en/latest/library/pyb.CAN.html docs.micropython.org - class CAN – controller area network communication bus]</ref>=


В классе [[CAN]] реализован коммуникационный [[протокол CAN]]. На физическом уровне он состоит из ''2 линий'': ''RX'' и ''TX''. Для подключения [[PyBoard]] к шине [[CAN]] нужно использовать [[CAN-трансивер]] – чтобы преобразовать сигналы [[CAN-логики]] от [[PyBoard]] в правильные уровни напряжения на шине.


Пример использования (работает, даже если ничего не подключено):


<syntaxhighlight lang="python" enclose="div">
<syntaxhighlight lang="python">
from pyb import CAN
can = CAN(1, CAN.LOOPBACK)
# задаем фильтр для получения сообщений с id 123, 124, 125 и 126:
can.setfilter(0, CAN.LIST16, 0, (123, 124, 125, 126))
can.send('message!', 123)  # отправляем сообщение с ID 123
can.recv(0)                # получаем сообщение на FIFO 0
</syntaxhighlight>
 
== Конструкторы ==
 
* [[MicroPython:Библиотеки/pyb/Класс CAN/pyb.CAN()|pyb.CAN(bus, ...)]]
 
== Методы класса ==
 
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.initfilterbanks()|CAN.initfilterbanks(nr)]]
 
== Методы ==
 
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.init()|CAN.init(mode, extframe=False, prescaler=100, *, sjw=1, bs1=6, bs2=8, auto_restart=False)]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.deinit()|CAN.deinit()]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.restart()|CAN.restart()]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.state()|CAN.state()]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.info()|CAN.info([list])]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.setfilter()|CAN.setfilter(bank, mode, fifo, params, *, rtr)]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.clearfilter()|CAN.clearfilter(bank)]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.any()|CAN.any(fifo)]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.recv()|CAN.recv(fifo, list=None, *, timeout=5000)]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.send()|CAN.send(data, id, *, timeout=0, rtr=False)]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.rxcallback()|CAN.rxcallback(fifo, fun)]]
 
== Константы ==
 
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.NORMAL|CAN.NORMAL]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.LOOPBACK|CAN.LOOPBACK]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.SILENT|CAN.SILENT]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.SILENT_LOOPBACK|CAN.SILENT_LOOPBACK]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.STOPPED|CAN.STOPPED]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.ERROR_ACTIVE|CAN.ERROR_ACTIVE]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.ERROR_WARNING|CAN.ERROR_WARNING]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.ERROR_PASSIVE|CAN.ERROR_PASSIVE]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.BUS_OFF|CAN.BUS_OFF]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.LIST16|CAN.LIST16]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.MASK16|CAN.MASK16]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.LIST32|CAN.LIST32]]
* [[MicroPython:Библиотеки/pyb/Класс CAN/CAN.MASK32|CAN.MASK32]]


=См.также=
=См.также=

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

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


Класс CAN – коммуникационная шина CAN[1]

В классе CAN реализован коммуникационный протокол CAN. На физическом уровне он состоит из 2 линий: RX и TX. Для подключения PyBoard к шине CAN нужно использовать CAN-трансивер – чтобы преобразовать сигналы CAN-логики от PyBoard в правильные уровни напряжения на шине.

Пример использования (работает, даже если ничего не подключено):

from pyb import CAN
can = CAN(1, CAN.LOOPBACK)
# задаем фильтр для получения сообщений с id 123, 124, 125 и 126:
can.setfilter(0, CAN.LIST16, 0, (123, 124, 125, 126))
can.send('message!', 123)   # отправляем сообщение с ID 123
can.recv(0)                 # получаем сообщение на FIFO 0

Конструкторы

Методы класса

Методы

Константы

См.также

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