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