Код: Выделить всё
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);
}
На всякий случай, настройки UART со стороны контроллера:
Код: Выделить всё
UCSRC|=(1<<UCSZ1)|(1<<UCSZ0);
UBRRH = 0;
UBRRL=25;// задание скорости
UCSRB|=(1<<RXEN)|(1<<TXEN)|(1<<RXCIE);//разрешение приёма