komunikacja po rs232 z czytnikiem netronix

0

Witam
Bardzo proszę o pomoc. Dawno nie programowałem, staram się sobie przypomnieć wszystko. Testuję urządzenie firmy netronix http://netronix.pl/pl/produkty/czytniki-micro/mm-u57d-d5-z5.html. Firma ta zamieszcza na swojej stronie biblioteki pomocne w komunikacji po RS ze swoimi produktami http://netronix.pl/pl/software/biblioteki/netrrs.html. Na początek chciałem po prostu otworzyć COM1, ustawić go, a następnie zamknąć. Niestety podczas kompilacji pojawiają się błędy... Bardzo proszę o jakieś drobne wskazówki. Pozdrawiam i proszę o wyrozumiałość:)

  1. SetCommPort
    char SetCommPort( char *COMname )
    Działanie:
    Funkcja otwiera COM i ustawia domyslne parametry pracy (predkosc transmisji 9600 bodów,
    1 bit stopu, 8 bitów danych, brak bitu parzystosci, brak kontroli przepływu).
    Parametry przyjmowane:
    char *COMname – adres bufora zawierajcego nazw COMa (np. „COM1” lub
    „COM2”)
    Wartosc zwracana:
    W przypadku powodzenia zwraca 0, w przeciwnym wypadku zwraca kod błedu.

  2. CloseCommPort
    char CloseCommPort(void)
    Działanie:
    Funkcja zamyka COMa.
    Parametry przyjmowane:
    Brak.
    Warto zwracana:
    W przypadku powodzenia zwraca 0, w przeciwnym wypadku zwraca kod błdu.

#include "stdafx.h"
#include "NetrRs.h"
#include "NetrRsWin.h"

int main()
{
	char * COMname = "COM1";
	SetCommPort(COMname);
	CloseCommPort; 
	return 0;
}

I tu podczas kompilacji pojawiają się błędy:

*1>------ Build started: Project: Win32Project2, Configuration: Debug Win32 ------
*1> Win32Project2.cpp
*1>c:\users\greg\desktop\projekt rfid\win32project2\win32project2\win32project2.cpp(13): warning C4551: function call missing argument list
*1>Win32Project2.obj : error LNK2019: unresolved external symbol "char __cdecl SetCommPort(char *)" (?SetCommPort@@YADPAD@Z) referenced in function _main
*1>C:\Users\greg\Desktop\projekt rfid\Win32Project2\Debug\Win32Project2.exe : fatal error LNK1120: 1 unresolved externals

0

Nie wywołujesz CloseCommPort jako funkcji.

0

Wskaźniki masz dobrze. Spróbuj dodać te biblioteki do parametrów linkera w ustawieniach projektu.

0

Lepiej zrezygnuj z tej biblioteki, bo to jakaś lipa. Będziesz miał więcej problemów, niż pożytku. Ktoś chciał pokazać, że potrafi zrobić dllkę, ale mu nie wyszło.

Jak będziesz miał szczęście i trafisz w odpowiedni kompilator to powinno się skompilować:

#include <cstring>

extern "C"  char SetCommPort(char*);
extern "C"  void CloseCommPort();

int main()
{
  const char *kCOMname = "COM1";
  char *COMname =  new char[strlen(kCOMname)];
  SetCommPort(COMname);
  CloseCommPort();

  return 0;
}
0
 #include <cstring>

extern "C"  char SetCommPort(char*);
extern "C"  void CloseCommPort();

int main()
{
  const char *kCOMname = "COM1";
  char *COMname =  new char[strlen(kCOMname) + 1];
  strcpy(COMname, kCOMname);
  SetCommPort(COMname);
  CloseCommPort();

  return 0;
}
0

Oczywiście to tylko przykład, o zabezpieczenia musisz zadbać sam

1 użytkowników online, w tym zalogowanych: 0, gości: 1