Показано с 1 по 10 из 346

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11
    Новичок
    Регистрация
    23.05.2013
    Сообщений
    8
    Вес репутации
    151

    По умолчанию Re: AVC-Lan адаптер на arduino

    Добавлю результаты своих экспериментов:
    1. По умолчанию, в качестве тестового сообщения отлично отправляются бродкасты, но не идут директ команды (ошибка W1). Если я прав, дело в этом (это тянется еще от поляков):
    библтотека avclandrv.cpp

    ...// Slave address = head unit (HU).
    send12BitWord(slaveAddress);
    send1BitWord(_parityBit);
    if (!handleAcknowledge()){
    AVC_OUT_DIS;
    SREG = oldSREG;
    return 1;
    }

    чуть ниже
    ...
    bool AVCLanDrv::handleAcknowledge (void){
    if (broadcast == AVC_MSG_BROADCAST){
    // Acknowledge broadcast
    send1BitWord(0);
    return true;
    }

    // Return acknowledge bit.
    return readAcknowledge();
    }

    Видим, что true будет только для бродкаста, а так как директ не описан - то соответственно получаем ошибку.
    Исправляем, добавив секцию (перед // Return acknowledge bit):
    if (broadcast == AVC_MSG_DIRECT){
    // Acknowledge.
    send1BitWord(1);
    return true;
    }

    Все, больше ошибки нет!


    Если у Вас большое количество ошибок - уберите резистор "перемычку" с шины (120 Ом). Чтение резко улучшится! Проверял в адаптере с 2 микросхемами.

    На Харриере к удивлению совсем отказался работать адаптер на 2 микросхемах (много ошибок по чтению), но отлично заработал на ST845 - обычно все наоборот. Возможно, у меня просто провода длинные...

    Если виснет после подключения к машине или даже "на столе" (выводит часть надписи в монитор и все...) - вы запитали адаптер от ардуины или неверно сделали развязку по питанию.
    Решение - добавить внешний преобразователь 7508, на него подать 12в, с выхода 8в подать на Vin , с +5 запитать адаптер. Так точно ничего не зависает.

    По поводу библиотеки - я прав? А то я пока еще совсем начинающий...

    Еще есть идея - использовать платку ардуино - идея хорошая, но вот ИДЕ - наверное плохая. Если переписать код на нормальный компилятор - ведь отличие на 90% только в синтаксисе - и итоговый код уменьшится и быстродействие возрастет - Ардуино ИДЕ генерит "мусорный" код там огромное количество защит от дурака).
    Последний раз редактировалось dreamwait; 02.06.2017 в 02:31.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 3 (пользователей: 0 , гостей: 3)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •