Проект

Общее

Профиль

Ручное задание скорости взаимодействия с шиной LIN (FLAG_CONFIG_BUS_SPEED_M 0x02) deprecated

Для ручного задания скорости канала устройства используется структура:

typedef struct {
    uint16_t Prescaler;
    uint16_t tqSeg1;
    uint16_t tqSeg2;
    uint16_t SyncJW;
} __attribute__((packed)) BusCustomBaudRate;

typedef struct {
    CommandHeader header;
    BusCustomBaudRate speed;
} __attribute__((packed)) ChannelConfigureCustomSpeed;

ПРи задании пользовательской скорости учитывается значение поля Prescaler, в который и передаётся значение требуемой скорости. Остальные поля должны быть равны 0.

Запрос

Поле Значение
header.command 0x11
header.sequence порядковый номер запроса
header.flags FLAG_CHANNEL_x + FLAG_CONFIG_BUS_SPEED_M
header.dSize 0x08
speed.Prescaler 2 байта
speed.tqSeg1 2 байта
speed.tqSeg2 2 байта
speed.SyncJW 2 байта

Ответ
Если запрос успешно обработан и значения полей структуры в поле speed заданы из диапазона допустимых величин.

Поле Значение
command 0x91
sequence порядковый номер запроса
flags 0x00
dSize 0x00

Если запрос не обработан.

Поле Значение
command 0xFF
sequence порядковый номер запроса
flags 0x00
dSize 0x00

Пример
Настройка LIN канала 1 на скорость 19200бит.

⇒ 11 xx 22 08 00 4B 00 00 00 00 00 00
⇐ 91 xx 00 00