Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2010, 01:25   #1
Серж_
 
Регистрация: 13.06.2010
Сообщений: 9
По умолчанию Приём данных через СОМ порт

Собрал простой передатчик на базе ATmega8, который через каждую секунду передаёт данные, целостность тракта и правильность передачи информации проверял программой Terminal v1.9b - всё работает, информация принимается верно. Проблема в том, что программа написанная мной на С++ для билдера не раобтает и не хочет принимать сообщения. Вот текст программы:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
HANDLE hCom = CreateFile("Com1",GENERIC_READ | GENERIC_WRITE,0,NULL, OPEN_EXISTING, 0, NULL);
if( hCom == INVALID_HANDLE_VALUE )
{
Edit1->Text = "Error";
CloseHandle(hCom);
}

else
{
DCB dcb;
GetCommState(hCom, &dcb);
dcb.BaudRate = CBR_2400;
dcb.fParity = false;
dcb.ByteSize = 8;
dcb.Parity = 1;
dcb.StopBits = 1;
SetCommState(hCom,&dcb);
DWORD feedback = 0;
char buf[20];
ReadFile(hCom, buf, sizeof(buf), &feedback, NULL);
Edit1->Text = buf[0];
Edit2->Text = buf[1];
Edit3->Text = buf[2];
Edit4->Text = buf[3];
Edit5->Text = buf[4];
Edit6->Text = buf[5];
Edit7->Text = buf[6];
Edit8->Text = buf[7];
Edit9->Text = buf[8];
Edit10->Text = buf[9];

}
CloseHandle(hCom);

}


программа по нажатию кнопки Button1 должна произодить считывание данных с сом порта и выводить эти данные текстовые поля Edit. При нажатии на кнопку поля заполняются различными символами, которые не меняются вне зависимости от того - включен передатчик или нет. В чём может быть дело?

На всякий случай, настройки UART со стороны контроллера:
UCSRC|=(1<<UCSZ1)|(1<<UCSZ0);
UBRRH = 0;
UBRRL=25;// задание скорости
UCSRB|=(1<<RXEN)|(1<<TXEN)|(1<<RXCI E);//разрешение приёма
Серж_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
освободить СОМ порт varelik Общие вопросы Delphi 11 11.02.2010 21:49
Отправка данных в СОМ порт из под VBA Excel Abhcn Microsoft Office Excel 3 03.03.2009 23:56
СОМ порт JUDAS Win Api 0 10.01.2009 21:27
СОМ порт SERG1980 Общие вопросы Delphi 3 17.05.2007 08:06