Технический форум по робототехнике.
		
	
		 
	
		
			
			
				
				 Weekend » 21 фев 2011, 05:32 
			
			
	
			Доброго времени суток.
Подскажите пожалуйста, может кто сталкивался с подключением к mini2440 устройств через rs485 на /dev/ttySAC1?
Проблема возникла в переключении nRTS1 (по умолчанию используется для /dev/ttySAC2 в качестве TX) в режим RTS для /dev/ttySAC1. Если это сделать сложно, то есть второй вопрос - есть ли возможность использования modbus мастера в режиме echo (держать rs485 master в режиме одновременного приема/передачи).
Спасибо.
			
	 
	
	
		
			
			
				
				 grikukan » 23 май 2011, 15:26 
			
			
	
			А какая у  вас ОС
			
	 
	
	
		
			
			
				
				 boez » 23 май 2011, 23:22 
			
			
	
			Weekend писал(а):есть ли возможность использования modbus мастера в режиме echo (держать rs485 master в режиме одновременного приема/передачи)
 А это как? Если мастер передает - он слышит только себя. Чтобы слышать других, он передачу должен выключить, иначе никак...
 
			
	 
	
	
		
			
			
				
				 noonv » 31 авг 2011, 18:09 
			
			
	
			кто-нибудь разбирался как работать с rs-485 под Linux-ом?  

 
			
	 
	
	
		
			
			
				
				 Vooon » 31 авг 2011, 21:23 
			
			
	
			А в чем собственно проблема? ttyS он и в африке ttyS.
			
	 
	
	
		
			
			
				
				 noonv » 31 авг 2011, 21:30 
			
			
	
			ttyS - это понятно 

 сегодня гуглил этот вопрос и что-то инфы не так много 

например, относительно руления RTS-ом в разных местах даётся противоречивая информация 
 как правильно переключать передачу/приём? порт должен быть открыт в блокирующем или неблокирующем режиме? нужно ли заполнять структуру 485-го порта в linux/serial ?
Спасибо!
 
			
	 
	
	
		
			
			
				
				 Vooon » 31 авг 2011, 21:42 
			
			
	
			1. Что за структура?
2. Что делать с RTS'ом зависит от шинника.
Можно подхачить ядро, чтоб переключала когда запись идет, а можно использовать автоматический шинник.
3. Режим блокирующий или нет не важен для передачи, важен только для способа программирования.
Я предпочитаю неблокирующий ВВ и однопоточные приложения.
			
	 
	
	
		
			
			
				
				 noonv » 31 авг 2011, 21:48 
			
			
	
			шинник?  
 структура:
- Код: Выделить всё • Развернуть
 struct serial_rs485
http://retis.sssup.it/~scordino/code/rs485.htmlосуществлять работу без вмешательства в ядро возможно? 
примерчик бы 

 или ткните, пожалуйста где можно об этом почитать 

Спасибо!
 
			
	 
	
	
		
			
			
				
				 Vooon » 31 авг 2011, 23:52 
			
			
	
			Посмотрел. Можно и сделать этот иоцтль.
Шинник - шинный адаптор. Микросхема типа MAX485.
			
	 
	
	
		
			
			
				
				 noonv » 01 сен 2011, 09:09 
			
			
	
			Vooon писал(а):Посмотрел. Можно и сделать этот иоцтль.
можно или нужно? 

т.е. какого-нибудь универсального платформо-независимого метода работы нету? 

 
			
	 
	
	
		
			
			
				
				 Vooon » 01 сен 2011, 13:47 
			
			
	
			Вопрос не правильный. Нужно попробовать и с ним и без.
Дел там на пять минут.
Так я не понимаю в чем проблема то?
Соединил два порта, потом:
echo test > /dev/ttyS0
cat /dev/ttyS1
Только сначала нужно настроить на них одинаковую скорость.
Еще лучше посмотреть, дрыгается ли RTS.
			
	 
	
	
		
			
			
				
				 noonv » 01 сен 2011, 13:55 
			
			
	
			Спасибо за терпение  

разумеется уже попробовал и так и эдак 

проблема не в том, что не работает. 
сообщения отправляются и читаются, но иногда почему-то считать ответ не получается  

или же ответ считывается, но не полностью 

вот я и подумал, что может не так что делаю  
 длина линии - 2 метра (правда пара не витая - может в этом дело?  

 )
 
			
	 
	
	
		
			
			
				
				 Vooon » 01 сен 2011, 18:29 
			
			
	
			А не может быть, что шинник включен на передачу когда не надо?
Чем тестируешь? Если хочешь модбас, то там без лазанья в ядро / использования 3.0 мало что получится.
Добавлено спустя 24 секунды:
Ну и параметры тоже желательно написать.