can.py

# Эта работа лицензирована по лицензии MIT.
# Copyright (c) 2013-2024 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Пример платы расширения CAN
#
# Этот пример демонстрирует связь по CAN между двумя камерами.
# ПРИМЕЧАНИЕ: для запуска этого примера нужны две платы расширения CAN-трансивера и кабель DB9.

import time
from machine import CAN

# ПРИМЕЧАНИЕ: установите False на принимающем узле.
TRANSMITTER = True

can = CAN(0, CAN.NORMAL, baudrate=1000000, auto_restart=True)

if TRANSMITTER:
    while True:
        # Отправить сообщение с id 1
        can.send("Hello", 1, timeout=100, extframe=False)
        time.sleep_ms(1000)

else:
    # Выполняется на принимающем узле.
    # Настроить фильтр для приёма сообщений с id=1 и 2
    # Индекс фильтра, режим (DUAL и т. д.), FIFO (0), параметры
    can.setfilter(0, CAN.DUAL, 0, [1, 2])

    while True:
        # Приём сообщений на FIFO 0 (доступен только один FIFO)
        print(can.recv(0, timeout=10000))

results matching ""

    No results matching ""