FT2232H & MSP430 BSL
Miroslav Šinko
sinkomiro na gmail.com
Středa Leden 11 21:50:52 CET 2012
No, takze je to tak. Ak si pocas behu programu nastavite RTS a chcete ho
zachovat aj pri zmene baudrate, MUSITE nastavit
dcb.fRtsControl = RTS_CONTROL_ENABLE;
Tu je program, predmetny riadok som oznacil //!!!
Bez neho sa to sprava presne, ako v Br na yi, s nim je spravanie OK. Opat
som to vyskusal na FT232AM, aj MosChip karte.
miro
#include <windows.h>
#include <stdio.h>
void main()
{
HANDLE hComm;
DCB dcb;
char port[] = "\\\\.\\COM10";
if((hComm=CreateFile(port, GENERIC_READ|GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, 0, NULL))==INVALID_HANDLE_VALUE)
{
printf("error CreateFile\n");
return;
}
memset(&dcb, 0, sizeof(DCB));
dcb.DCBlength=sizeof(DCB);
dcb.BaudRate=9600;
dcb.Parity=NOPARITY;
dcb.StopBits=ONESTOPBIT;
dcb.ByteSize=8;
dcb.fBinary =1;
dcb.fRtsControl = RTS_CONTROL_DISABLE;
if(!SetCommState(hComm, &dcb))
{
printf("error SetCommState\n");
return;
}
printf("SetCommState 1, press a key\n");
getchar();
EscapeCommFunction(hComm, SETRTS);
printf("SETRTS, press a key\n");
getchar();
dcb.BaudRate=19200;
//!!!
dcb.fRtsControl = RTS_CONTROL_ENABLE;
//
if(!SetCommState(hComm, &dcb))
{
printf("error SetCommState\n");
return;
}
printf("SetCommState 2, press a key\n");
getchar();
CloseHandle(hComm);
return;
}
Další informace o konferenci Hw-list