1

Тема: изменение конфиг CAN шлюза

Приветствую всех.
Прикрепил диаграмму. Её задача: при выполнении условий продолжать удерживать бит D1 в течении 10сек после его изменения .
В диаграмме присутствуют 2 варианта обновления конфигурации. Оба варианта работают.
Вопрос: какая реализация обновления конфигурации шлюза наиболее правильная как в цепом, так и с точки зрения использования ресурсов контроллера?

Вложений в сообщении

Иконка вложения CAN CFG.cfd 5.17 кб, скачивался 172 раз, последний раз 2021-06-23 

2

Re: изменение конфиг CAN шлюза

Наиболее правильным является реализация, при которой изменение конфигурации шлюза происходит как можно реже и только тогда, когда значения во входных регистрах шлюза действительно изменились.

И не пренебрегайте использованием регистра "Регистр наличия принятых данных CAN0", даже если в диаграмму попадают сообщения с единственным ID

3

Re: изменение конфиг CAN шлюза

Спасибо за оперативный ответ.
Про регистр хочу уточнить. В моем случае данные по попадающему в диаграмму ID передаются постоянно, с периодом 200мс. Т.е. значение регистра будет всегда =1. Все равно рекомендуете использовать регистр? С какой целью?

4

Re: изменение конфиг CAN шлюза

CarambaMSK пишет:

Т.е. значение регистра будет всегда =1.

Это не так и вы легко сможете убедиться в этом экспериментально.

CarambaMSK пишет:

Все равно рекомендуете использовать регистр? С какой целью?

Единственная цель моей рекомендации - помочь вам.
В то время как значение в данном регистре =0, состояние регистров чтения драйвера CAN0 не определено и в них может находится все что угодно. Состояние регистров чтения драйвера определено только при условии "Регистр наличия принятых данных CAN0" = 1

см. описание регистра в документации https://canny.ru/docs/c72duo/can/

5

Re: изменение конфиг CAN шлюза

Константин, CANNY пишет:

Это не так и вы легко сможете убедиться в этом экспериментально.

А как это сделать?

6

Re: изменение конфиг CAN шлюза

Например, вывести значение регистра на встроенный светодиод.

7

Re: изменение конфиг CAN шлюза

Проверил. Действительно светодиод моргает. Буду использовать регистр наличия данных. Спасибо.
Но возник еще вопрос: в режиме шлюза данные транслируются в обе стороны, только данные из CAN1 не обрабатываются диаграммой. Нужно ли использовать в таком случае этот регистр для CAN1?

8

Re: изменение конфиг CAN шлюза

... данные из CAN1 не обрабатываются диаграммой. Нужно ли использовать в таком случае этот регистр для CAN1?

Не нужно.