[ blagoyeblagoye @ 02.11.2006. 10:19 ] @
Na faksu radim seminarski i treba da podatke o procesu (signale od 5V: pumpa ukljucena iskljucena, rezervoar pun, prazan, ...) dovedem na racunar preko paralelnog porta. Dajem deo koda koji bi trebalo da cita sta pise u data: ---------------------------------------------------------------------------- Code: #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <windows.h> /* definitions on what port is what base address depends, so use this */ #define LPT1 0x378 #define LPT2 0x278 #define LPT3 0x3BC /* register offsets */ #define DATA 0 #define STATUS 1 #define CONTROLL 2 #define BASE_ADDRESS LPT1 #define EVER ;; /* this is the address we use (modify here if you need to) */ typedef short _stdcall (*INP32)(short PortAddress); typedef void _stdcall (*OUT32)(short PortAddress, short Data); int main(void) { HINSTANCE hLib; INP32 Inp32; OUT32 Out32; int value; FILE *pokazivacFile; if ((hLib = LoadLibrary("inpout32.dll")) == NULL) { printf("Biblioteka inpout32.dll nije ucitana, da li ste je snimili u Windows folder?\n"); return 0; } if ((Out32 = (OUT32)GetProcAddress(hLib, "Out32")) == NULL) { printf("Nije moguce pronaci pokazivac na out32 funkciju.\n"); return 0; } if ((Inp32 = (INP32)GetProcAddress(hLib, "Inp32")) == NULL) { printf("Nije moguce pronaci pokazivac na inp32 funkciju.\n"); return 0; } printf ("EPT LTP beta (V 1.0.1) running ..."); //Out32(BASE_ADDRESS, 0); for(EVER) { do { sleep(1); if ((pokazivacFile = fopen("file.txt", "w")) == NULL) { //printf("\nDatoteka nije kreirana!"); printf("."); } } while (pokazivacFile == NULL); pokazivacFile = fopen("file.txt", "w"); value = Inp32(BASE_ADDRESS); fprintf(pokazivacFile, "%d", value ); fclose(pokazivacFile); sleep(155); } FreeLibrary(hLib); return 1; } ------------------------------------------------------------------------------- Kada drugim programom nesto upisem u data registar, ovaj kod to procita, ali napone dovedene na pinove kojii su povezani sa data registrom ne cita kao logicke jedinice vec cita prethodno stanje (ako nista nisam pokretao cita broj 256, ako nije komentarisano Out32(BASE_ADDRESS, 0); cita o). ??????????????????????????????????????????????????????????? P.S. EDIT: X Files ( Koristite tagove za kod ) [Ovu poruku je menjao X Files dana 03.11.2006. u 07:50 GMT+1] |