| 
					
				 | 
			
			
				@@ -1,4 +1,32 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#### <font color = "MediumSeaGreen">Modbus</font> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Определение конца пакета. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<h4>Modbus</h4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<h6>Определение конца пакета.</h6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 - Если скорость передачи данных больше 19200, то нужно использовать фиксированное время 1750 мкс. В противном случае время должно быть в 3,5 больше времени символа. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Таймер настраивается на частоту 50 мкс. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- Таймер настраивается на частоту 50 мкс. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- В данном проекте управление переключением режима передачи происходит не стороне контроллера. Между включением передатчика и отправкой первого байта пакета необходима задержка. Задержка необходима и между отправкой последнего символа и выключением передатчика. Задержка реализована с помощью аппаратного таймера TIM6. Время задержки соответствует времени передачи двух символов с учетом текущей скорости USART. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<h6>Функции</h6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x01 (1)** - чтение значений из нескольких регистров флагов - Read Coil Status. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x02 (2)** - чтение значений из нескольких дискретных входов - Read Discrete Inputs. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x03 (3)** - чтение значений из нескольких регистров хранения - Read Holding Registers. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x04 (4)** - чтение значений из нескольких регистров ввода - Read Input Registers. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x05 (5)** - запись значения одного флага - Force Single Coil. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x06 (6)** - запись значения в один регистр хранения - Preset Single Register. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x07 (7)** - чтение сигналов состояния - Read Exception Status. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x08 (8)** - диагностика - Diagnostic. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x0B (11)** - чтение счетчика событий - Get Com Event Counter. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x0C (12)** - чтение журнала событий - Get Com Event Log. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x0F (15)** - запись значений в несколько регистров флагов - Force Multiple Coils. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x10 (16)** - запись значений в несколько регистров хранения - Preset Multiple Registers. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x11 (17)** - чтение информации об устройстве - Report Slave ID. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x14 (20)** - чтение из файла - Read File Record. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x15 (21)** - запись в файл - Write File Record. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x16 (22)** - запись в один регистр хранения с использованием маски "И" и маски "ИЛИ" - Mask Write Register. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x18 (24)** - чтение данных из очереди - Read FIFO Queue. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- **0x2B (43)** - Encapsulated Interface Transport. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<h6>Команды и регистры для теста</h6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Проверить функции для чтения и записа: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* (0x03) Read Holding Registers. Чтение N регистров управления и уставок. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* (0x10) Write Multiple registers Запись N регистров управления и уставок (0x10). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Адреса тестовых регистров для чтения и записи: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0x30 - лежит значение 123456789 тип uint32_t (4 байта) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0x32 - лежит значение 32768 тип uint16_t (2 байта) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0x34 - лежит значение 1.23456 тип float (4 байта) 
			 |