Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <io.h>
- #include <fcntl.h>
- #include <stdlib.h>
- #include <windows.h>
- //#include <iostream>
- #include <conio.h>
- #include <stdio.h>
- using namespace std;
- //#define DEBUG
- void GoToXY(int column, int line);
- typedef struct
- {
- int n;
- char buffer[80];
- } M;
- int main(int argc, char** argv)
- {
- M m;
- M m2;
- m.n = 0;
- m2.n = 0;
- //m.buffer = (char*)calloc(1, 80);
- HANDLE uchwyt = CreateFile(TEXT("COM1"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
- //unsigned char* tab = (unsigned char*)calloc(8, sizeof(unsigned char));
- unsigned char tab[9] = { 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x03, 0x00 };
- DWORD byteswritten = 0; //integer 4-bajtowy
- DCB dcb; //info o porcie szeregowym
- SecureZeroMemory(&dcb, sizeof(DCB));
- dcb.DCBlength = sizeof(DCB);
- int result = GetCommState(uchwyt, &dcb); //pobiera info o danym porcie szeregowym
- dcb.BaudRate = CBR_9600; //baud rate
- dcb.ByteSize = 8; //data size, xmit and rcv
- dcb.Parity = NOPARITY; //parity bit
- dcb.StopBits = ONESTOPBIT; //stop bit
- result = SetCommState(uchwyt, &dcb);
- //char* string1 = (char*)calloc(80, sizeof(char));
- int ifread1 = ReadFile(uchwyt, LPVOID(&m2), sizeof(M), (LPDWORD)&byteswritten, 0);
- for(int i =0; i<m2.n; i++)
- printf("%c", m2.buffer[i]);
- printf("\n");
- m2.n = 0;
- char kl;
- while ((kl = _getch()) != VK_ESCAPE)
- {
- if (kl == VK_RETURN)
- {
- printf("\n");
- //scanf("%s", m.buffer);
- //m.n = strlen(m.buffer + 1);
- int ifwrite = WriteFile(uchwyt, LPCVOID(&m), sizeof(M), (LPDWORD)&byteswritten, 0);
- if (!ifwrite)
- printf("Nie zapisano!\n");
- int ifread = ReadFile(uchwyt, LPVOID(&m2), sizeof(M), (LPDWORD)&byteswritten, 0);
- if (!ifread)
- printf("Nie przeczytano!\n");
- if (m2.n)
- for( int i =0; i<m2.n; i++)
- printf("%c", m2.buffer[i]);
- printf("\n");
- #ifdef DEBUG
- printf("\n%d\t%d", m.n, sizeof(m.buffer));
- #endif
- m.n = 0;
- m2.n = 0;
- //memset(m.buffer, 0, 80);
- //memset(m2.buffer, 0, 80);
- }
- else
- {
- printf("%c", kl);
- m.buffer[m.n] = kl;
- m.n++;
- }
- }
- return 0;
- }
- void GoToXY(int column, int line)
- {
- COORD coord;
- coord.X = column;
- coord.Y = line;
- HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- if (!SetConsoleCursorPosition(hConsole, coord));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement