Serial Communication - You can help!

THT

THT

Associate
Joined
10 Mar 2004
Posts
998
Im trying to emulate an existing program which writes to the serial port.

I have the output of what the program does (which works) and what program does (which doesnt work)

I can only see one difference between them and fc.exe doesnt help as the timings are different.

So heres your task - what differences are there between the following 2 blacks of code (ignore the second column)

Working:
Code:
0	0.00005978	LED.exe	IRP_MJ_CREATE	Serial0	SUCCESS	Options: Open 	
1	0.00000307	LED.exe	IOCTL_SERIAL_GET_TIMEOUTS	Serial0	SUCCESS		
2	0.00000168	LED.exe	IOCTL_SERIAL_SET_TIMEOUTS	Serial0	SUCCESS	RI:0 RM:10 RC:1000 WM:1 WC:1000	
3	0.00000168	LED.exe	IOCTL_SERIAL_GET_BAUD_RATE	Serial0	SUCCESS		
4	0.00000140	LED.exe	IOCTL_SERIAL_GET_LINE_CONTROL	Serial0	SUCCESS		
5	0.00000168	LED.exe	IOCTL_SERIAL_GET_CHARS	Serial0	SUCCESS		
6	0.00000168	LED.exe	IOCTL_SERIAL_GET_HANDFLOW	Serial0	SUCCESS		
7	0.00000140	LED.exe	IOCTL_SERIAL_GET_BAUD_RATE	Serial0	SUCCESS		
8	0.00000168	LED.exe	IOCTL_SERIAL_GET_LINE_CONTROL	Serial0	SUCCESS		
9	0.00000140	LED.exe	IOCTL_SERIAL_GET_CHARS	Serial0	SUCCESS		
10	0.00000168	LED.exe	IOCTL_SERIAL_GET_HANDFLOW	Serial0	SUCCESS		
11	0.00001034	LED.exe	IOCTL_SERIAL_SET_BAUD_RATE	Serial0	SUCCESS	Rate: 1200	
12	0.00000447	LED.exe	IOCTL_SERIAL_CLR_RTS	Serial0	SUCCESS		
13	0.00000447	LED.exe	IOCTL_SERIAL_CLR_DTR	Serial0	SUCCESS		
14	0.00000335	LED.exe	IOCTL_SERIAL_SET_LINE_CONTROL	Serial0	SUCCESS	StopBits: 1 Parity: NONE WordLength: 8	
15	0.00000196	LED.exe	IOCTL_SERIAL_SET_CHAR	Serial0	SUCCESS	EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13	
16	0.00000335	LED.exe	IOCTL_SERIAL_SET_HANDFLOW	Serial0	SUCCESS	Shake:0 Replace:0 XonLimit:2048 XoffLimit:512	
17	0.00000168	LED.exe	IOCTL_SERIAL_SET_QUEUE_SIZE	Serial0	SUCCESS	InSize: 4096 OutSize: 4096	
18	0.00000279	LED.exe	IOCTL_SERIAL_SET_WAIT_MASK	Serial0	SUCCESS	Mask: RXCHAR 	
19	0.00000223	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
20	0.00000279	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
21	0.00002235	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
22	0.00000223	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
23	0.00845247	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
24	0.08334914	LED.exe	IOCTL_SERIAL_WAIT_ON_MASK	Serial0	CANCELLED		
25	0.00000503	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
26	0.00822786	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: Y	
27	0.00000223	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
28	0.00828709	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
29	0.00000279	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
30	0.00802197	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
31	0.00000223	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
32	0.00828792	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
33	0.00000447	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
34	0.00824686	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
35	0.00000279	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
36	0.00808790	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
37	0.00000279	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
38	0.00826893	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
39	0.00000251	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
40	0.00828848	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: G	
41	0.00000335	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
42	0.00776439	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
43	0.00000810	LED.exe	IRP_MJ_CLEANUP	Serial0	SUCCESS		
44	0.10976619	LED.exe	IRP_MJ_CLOSE	Serial0	SUCCESS

Not Working:
Code:
0	0.00005503	LED.exe	IRP_MJ_CREATE	Serial0	SUCCESS	Options: Open 	
1	0.00000335	LED.exe	IOCTL_SERIAL_GET_TIMEOUTS	Serial0	SUCCESS		
2	0.00000168	LED.exe	IOCTL_SERIAL_SET_TIMEOUTS	Serial0	SUCCESS	RI:0 RM:10 RC:1000 WM:1 WC:1000	
3	0.00000168	LED.exe	IOCTL_SERIAL_GET_BAUD_RATE	Serial0	SUCCESS		
4	0.00000168	LED.exe	IOCTL_SERIAL_GET_LINE_CONTROL	Serial0	SUCCESS		
5	0.00000140	LED.exe	IOCTL_SERIAL_GET_CHARS	Serial0	SUCCESS		
6	0.00000168	LED.exe	IOCTL_SERIAL_GET_HANDFLOW	Serial0	SUCCESS		
7	0.00000140	LED.exe	IOCTL_SERIAL_GET_BAUD_RATE	Serial0	SUCCESS		
8	0.00000140	LED.exe	IOCTL_SERIAL_GET_LINE_CONTROL	Serial0	SUCCESS		
9	0.00000140	LED.exe	IOCTL_SERIAL_GET_CHARS	Serial0	SUCCESS		
10	0.00000140	LED.exe	IOCTL_SERIAL_GET_HANDFLOW	Serial0	SUCCESS		
11	0.00000950	LED.exe	IOCTL_SERIAL_SET_BAUD_RATE	Serial0	SUCCESS	Rate: 1200	
12	0.00000475	LED.exe	IOCTL_SERIAL_CLR_RTS	Serial0	SUCCESS		
13	0.00000475	LED.exe	IOCTL_SERIAL_CLR_DTR	Serial0	SUCCESS		
14	0.00000335	LED.exe	IOCTL_SERIAL_SET_LINE_CONTROL	Serial0	SUCCESS	StopBits: 1 Parity: NONE WordLength: 8	
15	0.00000168	LED.exe	IOCTL_SERIAL_SET_CHAR	Serial0	SUCCESS	EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13	
16	0.00000307	LED.exe	IOCTL_SERIAL_SET_HANDFLOW	Serial0	SUCCESS	Shake:0 Replace:0 XonLimit:2048 XoffLimit:512	
17	0.00000168	LED.exe	IOCTL_SERIAL_SET_QUEUE_SIZE	Serial0	SUCCESS	InSize: 4096 OutSize: 4096	
18	0.00000279	LED.exe	IOCTL_SERIAL_SET_WAIT_MASK	Serial0	SUCCESS	Mask: RXCHAR 	
19	0.00000223	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
20	0.00000168	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
21	0.00002179	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
22	0.00000196	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
23	0.00857120	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
24	0.00000559	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
25	0.00827005	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: Y	
26	0.00000587	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
27	0.00826111	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
28	0.00000559	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
29	0.00825608	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
30	0.00000363	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
31	0.00828848	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
32	0.00000419	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
33	0.00828066	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
34	0.00000419	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
35	0.00828290	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
36	0.00000559	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
37	0.00826418	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
38	0.00000559	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
39	0.00826083	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: G	
40	0.00000587	LED.exe	IOCTL_SERIAL_PURGE	Serial0	SUCCESS	Purge: TXABORT RXABORT TXCLEAR RXCLEAR	
41	0.00826446	LED.exe	IRP_MJ_WRITE	Serial0	SUCCESS	Length 1: .	
42	0.00000363	LED.exe	IRP_MJ_CLEANUP	Serial0	SUCCESS		
43	0.11121721	LED.exe	IRP_MJ_CLOSE	Serial0	SUCCESS
 
Second one is missing,

0.08334914 LED.exe IOCTL_SERIAL_WAIT_ON_MASK Serial0 CANCELLED

If that matters :)
 
Back
Top Bottom