Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 23
  1. #11
    Продвинутый
    Регистрация
    20.05.2011
    Сообщений
    325
    Вес репутации
    232

    По умолчанию Re: Чтение данных из Ардуины при помощи C++ VS 2010 Windows Forms

    "В начале процедуры таймер нужно отключить, а в конце процедуры включить" - А это как?
    Интервал - 100 мс.
    Последний раз редактировалось metaforos; 20.12.2012 в 16:01.
    Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.

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

    По умолчанию Re: Чтение данных из Ардуины при помощи C++ VS 2010 Windows Forms

    Похоже в VS C++ как то иначе
    Последний раз редактировалось Chip; 20.12.2012 в 19:14.

  3. #13
    Продвинутый
    Регистрация
    15.12.2008
    Возраст
    38
    Сообщений
    229
    Вес репутации
    399

    По умолчанию Re: Чтение данных из Ардуины при помощи C++ VS 2010 Windows Forms

    на С# делаю так:
    PHP код:
    private void serialPort1_DataReceived(object senderSystem.IO.Ports.SerialDataReceivedEventArgs e)  //по событию "пришли данные" читаем их и присваиваем значения переменным
    {
      
    bytes serialPort1.BytesToRead//считаем количество байт
      
    byte[] data = new byte[serialPort1.BytesToRead];//массив принятых занчений
      
    serialPort1.Read(data0data.Length);//читаем
      //здесь всякие условия типа количества байт, контрольные суммы, префиксы и т.д.
      
    temp1=data[0]; //присваиваем значение переменной. 
    }
    private 
    void timer1_Tick(object senderEventArgs e//по таймеру обновляем label
    {
      
    label1.Text=temp1.ToString();

    на С++, думаю, будет мало отличаться.
    Вроде работает:
    PHP код:
    private: System::Void timer1_Tick(System::Object^  senderSystem::EventArgs^  e
                 {
                     
    label1->Text=System::Convert::ToString(b);
                 }

        private: 
    System::Void serialPort1_DataReceived(System::Object^  senderSystem::IO::Ports::SerialDataReceivedEventArgs^  e
                 {
                     
    unsigned char bytes serialPort1->BytesToRead;
                     
    int i=0;
                     if (
    bytes >= 8
                     {
                        
    bytes 0;
                        
    char data[10];
                        for(
    i=0;i<8;i++)
                        {
                          
    data[i]=System::Convert::ToChar(serialPort1->ReadChar());
                        }
                        
    b=data[1]; 
                     }
                 } 
    Это для передачи данных побайтово а не строкой, но смысл тот же

  4. #14
    Продвинутый
    Регистрация
    20.05.2011
    Сообщений
    325
    Вес репутации
    232

    По умолчанию Re: Чтение данных из Ардуины при помощи C++ VS 2010 Windows Forms

    И не вешает форму?
    Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.

  5. #15
    Продвинутый
    Регистрация
    15.12.2008
    Возраст
    38
    Сообщений
    229
    Вес репутации
    399

    По умолчанию Re: Чтение данных из Ардуины при помощи C++ VS 2010 Windows Forms

    Нет. все работает. добавил пару кнопок для проверки - все обрабатывается.

  6. #16
    Продвинутый
    Регистрация
    20.05.2011
    Сообщений
    325
    Вес репутации
    232

    По умолчанию Re: Чтение данных из Ардуины при помощи C++ VS 2010 Windows Forms

    Расскажи пожалуйста, как мне твой код запустить на VS 2010 Express. Тот что ты написал на С++ у меня не работает.
    Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.

  7. #17
    Продвинутый
    Регистрация
    15.12.2008
    Возраст
    38
    Сообщений
    229
    Вес репутации
    399

    По умолчанию Re: Чтение данных из Ардуины при помощи C++ VS 2010 Windows Forms

    Не компилируется или не работает с ардуино?
    VS 2010 pro все в порядке.
    В атаче весь проект.
    12.rar

  8. #18
    Продвинутый
    Регистрация
    20.05.2011
    Сообщений
    325
    Вес репутации
    232

    По умолчанию Re: Чтение данных из Ардуины при помощи C++ VS 2010 Windows Forms

    1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuil d.targets(292,5): error MSB8009: .NET Framework 2.0/3.0/3.5 задают набор инструментов платформы v90. Убедитесь, что на данной машине выполнена установка Visual Studio 2008.
    Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.

  9. #19
    Продвинутый
    Регистрация
    20.05.2011
    Сообщений
    325
    Вес репутации
    232

    По умолчанию Re: Чтение данных из Ардуины при помощи C++ VS 2010 Windows Forms

    Скомпилировал твой код. Кнопка работает (+1), а вообще, не работает. Постоянно 0 пишет. Я думаю, как таймер в отдельный поток засунуть? Может быть поможет?
    Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.

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

    По умолчанию Re: Чтение данных из Ардуины при помощи C++ VS 2010 Windows Forms

    Я думаю, как таймер в отдельный поток засунуть? Может быть поможет?
    В отдельном потоке достаточно будет цикла while

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

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

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

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

Ваши права

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