Как открыть СДС прикладного уровня, используя софтинг canusb
Здравствуйте Эксперты,
Я изо всех сил пытаюсь получить доступ к прикладному уровню SDS с помощью функции Softing CAN Layer2 CANL2_send_data (). Интерфейс CAN был успешно инициализирован и готов к записи и чтению.
int CANL2_send_data(CAN_HANDLE can, unsigned long Ident, int Xtd, int DataLength, byte *pData);
параметр функции:
- может: обрабатывать канал
- Имя: Идентификатор
- Xtd: длина идентификатора (0: 11 бит, 1: 29 бит)
- DataLength: количество передаваемых байтов данных
Заголовок СДС инфо:
Логический Адрес: 64
Тип обслуживания: 100 (запись)
Идентификатор: 0x204
Сервисный Параметр: Атрибут 206
Данные: (формат данных?)
//////////////////////////////////////////////////////////////////////////
Проблемы:
1. СДС кадр данных, показывающих, отсутствует первые 2 байта (72 65) от “перезагрузки\р\н” (72 65 62 6Ф 6Ф 74 0d с 0а). Выходной сигнал записывается в монитор CAN/SDS на другом ПК с CANusb, расположенным на той же шине.
2. DLC сокращается до 6 (SDS max data bytes), но как отправить данные, которые больше 6 байт?
3. Параметры СДС, таких как обслуживание клиентов, ЭОИД параметров сервиса не найти себе места в выше функция отправки данных.
4. FRC вернул 0, данные действительно достигли микроконтроллера (подтверждено светодиодным индикатором CAN RX), но он не реагирует соответствующим образом.
Спасибо заранее
мрааф
Что я уже пробовал:
unsigned char* pData = “reboot\r\n”; int nLength = strlen((const char*)pData); // get length of the string static unsigned int nID = 0x204; int frc; // function return code frc = CANL2_send_data( m_hCAN[1], // can1 handle nID, // Identifier 0, // 11 bits (standard identifier) nLength, // data length pData); // pointer to the address field of the data
Цитата:Вывод данных SDS:
Передатчик/приемник: приемник | направление: [В] | адресу: 64 | дисков: запись | КДР: 6 | Сведения: 62 6Ф 6Ф Д 74 а | ФРК: 0
///////////////////////////////////////////////////////////////////////
Коды возврата функций:
0 функция выполнена успешно
-1 функция не удалась
-11 неизвестная ошибка
-104 тайм-аут прошивки связи
-1000 недопустимый дескриптор канала