Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 28
  1. #11
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: Прием в порт по прерыванию

    Ошибка в том что у тебя нет цикла приема 8-ми байт , ты принимаешь каждый раз по 1 байту
    используй цикл for
    PHP код:
     if (Serial.available() > 7//priem ot kompa 
       

         for (
    byte i=09i++)
           {
            
    serialInArray[i] = Serial.read();    
           { 
    Последний раз редактировалось Chip; 25.12.2011 в 14:34.

  2. #12
    Продвинутый
    Регистрация
    03.06.2008
    Возраст
    48
    Сообщений
    320
    Вес репутации
    326

    По умолчанию Re: Прием в порт по прерыванию

    Спасибо большое!!!
    Вот так сделал:

    PHP код:
     if (Serial.available() > 7//priem ot kompa
        

         for (
    byte i=09i++)
           {
            
    serialInArray[i] = Serial.read();    
           }  
        }  
            
    watertemp serialInArray[0]; //senstvaz
            
    turbo serialInArray[1]; //kpa
            
    pboost serialInArray[2]; //pboost
            
    volts serialInArray[3]; //volts
            
    result serialInArray[7];
            
    result = (result << 24) | serialInArray[6]; 
            
    result = (result << 16) | serialInArray[5];  
            
    result = (result << 8) | serialInArray[4]; 
           
    // Serial.flush();
         
    delay(10);

    Всё заробило!!!!!
    А можно ещё какую-нибудь проверку сделать, для надёжности?
    Если проводок между приёмником и передатчиком, отключать и снова втыкать, то кратковременно (1-2 секуды) проскакивают непонятные цифры, а потом всё отлично работает!




  3. #13
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: Прием в порт по прерыванию

    Можно перед началом данных посылать дескриптор размером 2 байта например 170, 204 или что то в этом роде
    Последний раз редактировалось Chip; 26.12.2011 в 01:21.

  4. #14
    Продвинутый
    Регистрация
    03.06.2008
    Возраст
    48
    Сообщений
    320
    Вес репутации
    326

    По умолчанию Re: Прием в порт по прерыванию

    А почему именно два байта? А если один?

  5. #15
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: Прием в порт по прерыванию

    А как ты один байт от байта данных отличишь?

  6. #16
    Продвинутый
    Регистрация
    03.06.2008
    Возраст
    48
    Сообщений
    320
    Вес репутации
    326

    По умолчанию Re: Прием в порт по прерыванию

    Надо подумать.............а если это буква будет? ......Хотя я наверно чего-то не понимаю!

  7. #17
    Продвинутый
    Регистрация
    28.11.2010
    Возраст
    59
    Сообщений
    241
    Вес репутации
    214

    По умолчанию Re: Прием в порт по прерыванию

    Цитата Сообщение от mebitek Посмотреть сообщение
    Надо подумать.............а если это буква будет? ......Хотя я наверно чего-то не понимаю!
    Байт - это значение от 0 до 255 и такие же байты в данных, так как отличить дескриптор?
    Мои проекты - Катер для рыбалки

  8. #18
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: Прием в порт по прерыванию

    а дескриптор это два байта идентификации. Вероятность подобной комбинации в массиве равна нулю.

  9. #19
    Продвинутый
    Регистрация
    28.11.2010
    Возраст
    59
    Сообщений
    241
    Вес репутации
    214

    По умолчанию Re: Прием в порт по прерыванию

    Цитата Сообщение от Chip Посмотреть сообщение
    а дескриптор это два байта идентификации. Вероятность подобной комбинации в массиве равна нулю.
    Но вариант не 100%.
    Я из данных исключил значение 255, использую 0...254, а один байт со значением 255 в качестве дескриптора.
    Мои проекты - Катер для рыбалки

  10. #20
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: Прием в порт по прерыванию

    Не 100% , чем длинней дескриптор тем меньше вероятность совпадения.
    Думаю что предложенный тобой вариант в этом случаи более интересен.

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

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

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

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

Ваши права

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