| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-04-02 
				
				年龄: 40 
				
					帖子: 9
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			我是用串口线连接两台计算机的 
		
		
		
		
		
		
			一台用来发送 一台用来接收 然后在发送端程序: clear; s=serial('com2','baudrate',1200); s.Parity='none' ; % Set parity as none s.Databits=8 ; % set the number of data bits s.StopBits=1; % set number of stop bits as 1 s.InputBufferSize=512; s.Timeout=5; s.Terminator='LF'; s.FlowControl='none'; s.OutputBufferSize=512; fopen(s); s.status; fprintf(s,'abc','async'); fclose(s); delete(s); clear s; 接收端程序: clear; s=serial('com2','baudrate',1200); s.Parity='none' ; % Set parity as none s.Databits=8 ; % set the number of data bits s.StopBits=1; % set number of stop bits as 1 s.InputBufferSize=512; s.Timeout=5; s.Terminator='LF'; s.FlowControl='none'; s.OutputBufferSize=512; fopen(s); s.status; a=fscanf(s); fclose(s); delete(s); clear s; 结果超时的时间到了,还读不到数据,这是为什么啊? 谁帮忙看下? 谢谢了 
				__________________ 
		
		
		
		
	荼毒的红,是幸福的颜色.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-04-02 
				
				年龄: 40 
				
					帖子: 9
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			有没人知道什么错误的啊.帮忙看下呀
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	荼毒的红,是幸福的颜色.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-04-02 
				
				年龄: 40 
				
					帖子: 9
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			怎么没人理会呢?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	荼毒的红,是幸福的颜色.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 游客 
			
			
			
			
					帖子: n/a
				 
				
				
				
				
				 | 
	
	
	
		
		
			
			 
			
			1.com口定义的有问题,一般电脑上的com口只有一个是"com1",这个可以在电脑的硬件管理器里查看. 
		
		
		
		
		
		
		
	2.fclose(s); delete(s); clear s; 这几句不能紧接着前面数据接收和发送执行,因为,发送和接收数据需要一定的时间间隔,太快的结束对象和删除对象是不行的. 3.连接两台电脑要用交叉的串口线"NULL MODEM CABLE". 用你上面写的语句,我已经调试成功了,你再试试.  | 
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#5 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-05-23 
				
				年龄: 42 
				
					帖子: 9
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			我的想法和楼上的相同,但有一点我不能明白,为何程序在执行到fprintf和fscanf时就会报错,说是在读/写过程中超时。 
		
		
		
		
		
		
			超时倒底是个什么概念?要设多长时间才不会超时呢? 
				__________________ 
		
		
		
		
	FATE? HAH! YOU ARE MINE....  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |