Click here to Skip to main content
15,894,362 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: How to get body of new arrived mail? Pin
Shashi Shinde2-Mar-07 2:50
Shashi Shinde2-Mar-07 2:50 
Questionsizeof() Operator Pin
Bulky Fellow1-Mar-07 18:30
Bulky Fellow1-Mar-07 18:30 
AnswerRe: sizeof() Operator [modified] Pin
Naveen1-Mar-07 19:07
Naveen1-Mar-07 19:07 
AnswerRe: sizeof() Operator Pin
Mark Salsbery1-Mar-07 19:10
Mark Salsbery1-Mar-07 19:10 
QuestionMore problem Pin
Kiethnt1-Mar-07 17:28
Kiethnt1-Mar-07 17:28 
AnswerRe: More problem Pin
Hamid_RT1-Mar-07 17:56
Hamid_RT1-Mar-07 17:56 
AnswerRe: More problem Pin
John R. Shaw2-Mar-07 21:39
John R. Shaw2-Mar-07 21:39 
Questioncomplete Pin
Kiethnt1-Mar-07 17:25
Kiethnt1-Mar-07 17:25 
Dear all,
Now I'm writing a small program to communicate via RS232 with 3964 protocol, however Idon't understand why I cannot compile this source code. Any body please help me solve this problem.
<br />
// 3964PROTOCOL.cpp : Defines the entry point for the console application.<br />
//<br />
<br />
#include <stdio.h><br />
#include <conio.h><br />
#include <io.h><br />
#include <fcntl.h><br />
#include <string.h><br />
#include <dos.h><br />
#include <bios.h><br />
#include "perce.h"<br />
<br />
#define ESC 27<br />
<br />
void interrupt(*oldvect_ser)(); <br />
extern void interrupt int_sio(); <br />
extern void restore_8250 (void); <br />
extern void init_8250 (void);<br />
extern void send_tele (char *, short);<br />
extern WORD state, receive_counter, protocol_error;<br />
extern BYTE receive_buffer[];<br />
<br />
BYTE choice,sio_eoi; <br />
BOOL receive, autosend; <br />
WORD Com_basis,len;<br />
BYTE send_buffer[BUFFER_MAX]; <br />
BYTE tmp_buffer[BUFFER_MAX]; <br />
BYTE *mode,*port;<br />
<br />
/*=========================================================*/<br />
void warte (void)<br />
{<br />
	long i;<br />
	/* warte ein wenig */<br />
	for (i=0;i<500000;i++) i = i;<br />
}<br />
/*-----------------------------------------------------------------------<br />
* MENUE<br />
*-----------------------------------------------------------------------*/<br />
void menue (void)<br />
{<br />
	clrscr();<br />
	printf ("\n\n");<br />
	printf ("Final Version of      KUKAVISION.EXE    \n");<br />
	printf ("Serial device with 3964R protocol     mod. P.S. 08.08.03\n\n");<br />
	printf ("[1]  send teststring      [4]    COM 1 \n");<br />
	printf ("[2]  getNum               [5]    COM 2 \n");<br />
	printf ("[3]  getDat                [6]    reset protocol\n");<br />
	printf ("                          [ESC]  quit\n");<br />
	printf ("Aktueller Port:     %s\n",port);<br />
	printf ("Mode      :         %s\n", mode);<br />
	printf ("Number of elements: %d\n",numEl);<br />
	printf ("Element index:      %d\n",elementIndex);<br />
	printf ("Element Data:       %s\n---------\n", &send_buffer[0]);<br />
}<br />
/****************************** <br />
SEND_TELEGRAM<br />
*******************************/<br />
void send_telegram (BYTE *buffer)<br />
{<br />
	if ((len = strlen (buffer)) > 0)<br />
	{<br />
		send_tele (buffer, len);<br />
		warte ();<br />
		warte ();<br />
		warte ();<br />
		if (state == E1)<br />
		{<br />
			state = RUHE;<br />
			protocol_error=2;<br />
		}<br />
		else protocol_error=6;<br />
	}<br />
	<br />
	/********************* <br />
	MONITORING<br />
	**********************/<br />
	<br />
	void monitoring (void)<br />
	{<br />
		short i;<br />
		printf("-> :  ");<br />
		for (i=0;i<receive_counter;i++)<br />
		{<br />
			if(isprint(receive_buffer[i])) printf("%c", receive_buffer[i]);<br />
			else printf("0x%X", receive_buffer[i]);<br />
		}  <br />
		printf("\n");<br />
		receive = FALSE;<br />
	}<br />
	<br />
	/*--------------------------------------------------------------------------<br />
	*  FUNCTION: main<br />
	* Hauptprogramm<br />
	*--------------------------------------------------------------------------*/<br />
	void main ()<br />
	{<br />
		int sio_int_nr,i;<br />
		int j; //Sake <br />
		char *fields;<br />
		BOOL  quit = FALSE;<br />
		Com_basis  = 0x3F8 ; /*Standard-Port COM1 */<br />
		sio_int_nr = 0xC; /*IRQ*/<br />
		sio_eoi=0x<br />
			port= "COM 2";<br />
		oldvect_ser = getvect(sio_int_nr);<br />
		setvect(sio_int_nr,int_sio);<br />
		state = RUHE;<br />
		choice = protocol_error = 0;<br />
		receive  = autosend = FALSE;<br />
		mode = "ready";<br />
		elementIndex=0;<br />
		init_8250 ();<br />
		menue ();<br />
		do<br />
		{<br />
			if (bioskey(1))<br />
			{<br />
				choice = bioskey(0);<br />
				switch (choice)<br />
				{<br />
				case ESC: /* ganz raus */<br />
                    quit = TRUE;<br />
					break;<br />
				case '1': /* send */<br />
					send_telegram (&send_buffer[0]);<br />
					break;<br />
				case '2': /* getNum */<br />
					strcpy(&receive_buffer[0],"getNum");<br />
					receive=TRUE;<br />
					mode = "getNum";<br />
					menue ();<br />
					break;<br />
				case '3': /* getDat */<br />
					strcpy(&receive_buffer[0],"getDat");<br />
					receive=TRUE;<br />
					mode = "getDat";<br />
					<br />
					menue ();<br />
					break;<br />
				case '4': /* COM1 */<br />
					Com_basis=0x3F8;<br />
					sio_int_nr = 0xC;    /* IRQ 4 */<br />
					port="COM 1";<br />
					menue ();<br />
					break;<br />
				case '5': /* COM2 */<br />
					Com_basis=0x2F8;<br />
					sio_int_nr = 0xB;<br />
					port="COM 2";<br />
					menue ();<br />
					break;<br />
				case '6': /* reset */<br />
					state = RUHE;<br />
					break;<br />
				default:;<br />
				}<br />
				choice = 0;<br />
			}<br />
			if (receive)<br />
			{<br />
				monitoring ();  <br />
				if (strcmp("getNum",&receive_buffer[0]) == 0) <br />
				{<br />
					elementIndex=0;<br />
					printf("getNum erhalten\n");<br />
					if( imaqReadFile() == -1)<br />
						printf("Fehler beim Lesen der Datei\n");<br />
					else <br />
					{<br />
						numEl = imaqGetNbElements();         <br />
						menue();<br />
						elementIndex=1;<br />
					}<br />
				}<br />
				if (strcmp("getDat",&receive_buffer[0]) == 0) {<br />
					if(elementIndex > numEl){<br />
						printf("Keine Daten mehr vorhanden\n");<br />
						for (i=0;i<BUFFER_MAX;i++)<br />
							sprintf(&send_buffer[i],"\0");  <br />
						imaqClose();<br />
					}<br />
					else <br />
					{<br />
						dataErr = imaqGetData(elementIndex, send_buffer);<br />
						if (dataErr==0)<br />
							send_telegram (&send_buffer[0]);  <br />
						menue();<br />
						elementIndex++;<br />
					}<br />
				}<br />
				if (protocol_error)<br />
				{<br />
					switch (protocol_error)<br />
					{<br />
					case 1:<br />
						printf("\nCRC-Error (NAK->) !!\n");<br />
						break;<br />
					case 2:<br />
						printf("\nno response (DLE) !!\n");<br />
						break;<br />
					case 3:<br />
						printf("\nno send quitt (DLE) !!\n");<br />
						break;<br />
					case 4:<br />
						printf("\nReceive buffer overflow !!\n");<br />
						break;<br />
					case 5:<br />
						printf("\nrepeating telegram (->NAK) !!\n");<br />
						break;<br />
					case 6:<br />
						printf("\nno teststring defined\n");<br />
						break;<br />
					case 7:<br />
						printf("\nSTX\n");<br />
						break;<br />
					default:;<br />
					}<br />
					protocol_error = 0;<br />
				}<br />
			} while (!quit);<br />
			restore_8250 ();<br />
			setvect(sio_int_nr,oldvect_ser);<br />
}<br />

AnswerRe: complete Pin
Cedric Moonen1-Mar-07 20:05
Cedric Moonen1-Mar-07 20:05 
QuestionC++ to DSP Pin
apoc831-Mar-07 14:28
apoc831-Mar-07 14:28 
AnswerRe: C++ to DSP Pin
Cedric Moonen1-Mar-07 20:07
Cedric Moonen1-Mar-07 20:07 
GeneralRe: C++ to DSP Pin
apoc831-Mar-07 20:26
apoc831-Mar-07 20:26 
QuestionProblem using CStrings in a linked list (memory leak) Pin
CoffeeAddict191-Mar-07 10:25
CoffeeAddict191-Mar-07 10:25 
AnswerRe: Problem using CStrings in a linked list (memory leak) Pin
Mark Salsbery1-Mar-07 10:57
Mark Salsbery1-Mar-07 10:57 
AnswerRe: Problem using CStrings in a linked list (memory leak) Pin
led mike1-Mar-07 11:30
led mike1-Mar-07 11:30 
GeneralRe: Problem using CStrings in a linked list (memory leak) Pin
Nibu babu thomas1-Mar-07 16:20
Nibu babu thomas1-Mar-07 16:20 
AnswerRe: Problem using CStrings in a linked list (memory leak) Pin
prasad_som1-Mar-07 20:00
prasad_som1-Mar-07 20:00 
Questiongenerating reports Pin
namratab1-Mar-07 8:51
namratab1-Mar-07 8:51 
AnswerRe: generating reports Pin
Anders Gustafsson1-Mar-07 9:18
Anders Gustafsson1-Mar-07 9:18 
GeneralRe: generating reports Pin
namratab1-Mar-07 9:34
namratab1-Mar-07 9:34 
GeneralRe: generating reports Pin
Anders Gustafsson1-Mar-07 22:17
Anders Gustafsson1-Mar-07 22:17 
QuestionSocket curious error Pin
Alex Cutovoi1-Mar-07 7:42
Alex Cutovoi1-Mar-07 7:42 
AnswerRe: Socket curious error Pin
Mark Salsbery1-Mar-07 8:40
Mark Salsbery1-Mar-07 8:40 
GeneralRe: Socket curious error Pin
Alex Cutovoi1-Mar-07 10:38
Alex Cutovoi1-Mar-07 10:38 
GeneralRe: Socket curious error Pin
Mark Salsbery1-Mar-07 10:44
Mark Salsbery1-Mar-07 10:44 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.