Windos port and PC uart

I wonder if there is a recomanded way to use windows PC uart with FreeRTOS. I am trying the FILE way, but having problems with it: //——————— hComm = CreateFile( ComPortName, // Name of the Port to be Opened GENERICREAD | GENERICWRITE, // Read/Write Access 0, // No Sharing, ports cant be shared NULL, // No Security OPEN_EXISTING, // Open existing port only 0, // Non Overlapped I/O NULL); // Null for Comm Devices . . . Status = ReadFile(hComm, &TempChar, sizeof(TempChar), &NoBytesRead, NULL); . . etc… //—————————-
Thanks Johanan

Windos port and PC uart

Here is a recent post about the Windows port of FreeRTOS. It says that you should never call any Windows API from within a FreeRTOS task. Likewise, you can not call a FreeRTOS API from within a Windows thread. Please have a look at demo_logging.c (also mentioned in that post): it is a normal Windows thread that does call normal API’s. And as I explained, it is difficult to realise communication and synchronisation between a Windows thread and a FreeRTOS task. You could write something like in demo_logging.c, in which you get access to a serial port. Try to work with FILE_FLAG_OVERLAPPED : ~~~ handle = CreateFile( useName, GENERICREAD|GENERICWRITE, 0, NULL, OPENEXISTING, FILEATTRIBUTESYSTEM | FILEFLAG_OVERLAPPED, NULL); ~~~ The actual access is done with WriteFile() and ReadFile().

Windos port and PC uart

Got it working. Thanks.

Windos port and PC uart

You are quick ! Thanks for reporting back. Hein