Я работаю с приложением CAN и у меня возникли проблемы с синхронизацией. Кажется, есть некоторая дельта времени между тем, когда моя функция записи сообщения CAN завершается, и когда сообщение CAN фактически передается. Поэтому я хочу измерить время между ними. Функция записи находится в C ++, так что это простой вызов GetTickCount, чтобы узнать, когда функция записи завершится. Это знание, когда происходит фактическая передача, и это проблема.
Я использую CANalyzer от Vector для мониторинга моей шины CAN и слышал, что у нее есть интерфейс программирования (CAPL). То, что я хотел бы сделать, это захватить время ПК часов, в которое сообщение было фактически передано. Есть ли какой-нибудь интерфейс system-CAPL, который я мог бы использовать для этого?
Было бы проще измерить время в вашей программе на C ++. Драйвер CAN должен предоставить некоторыеФункция обратного вызова подтверждения TX«. Драйвер CAN вызывает эту функцию, как только сообщение успешно передано. Вам необходимо настроить обратный вызов и измерить время между операцией записи CAN и этим обратным вызовом.
Других решений пока нет …