Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Помогите с программой Добавлено: 24.05.09 15:17  

Автор вопроса:  Lecture
Добрый день, уважаемые форумчане. Управляю шаговым двигателем. Выдаю на LPT порт 1,3,2,5,4,6.
Подскажите, пожалуйста, какую здесь можно вывести формулу?
1 - 2^0
3 - 2^0+2^1
2 - 2^1
5 - 2^0+2^2
4 - 2^2
6 - 2^2 + 2^1

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #1
Добавлено: 24.05.09 16:13
А нафиг тебе формула? Может, тебе функция нужна?

Ответить

Номер ответа: 2
Автор ответа:
 Lecture



Вопросов: 1
Ответов: 2
 Профиль | | #2 Добавлено: 24.05.09 16:14
Просто буду использовать с разными типамидвигателей и нужна универсальная

Ответить

Номер ответа: 3
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #3
Добавлено: 24.05.09 16:47
Дык для каждого типа двигателей создай свою таблицу, как ты в примере показал. Храни таблицы в файлах и все.

Ответить

Номер ответа: 4
Автор ответа:
 rw12lq



Вопросов: 2
Ответов: 80
 Профиль | | #4 Добавлено: 24.05.09 16:49
Не совсем понятно что на порт и дет... но вот функция :)

  1. Private Function DriveType(ByVal bType As Byte) As Double
  2. '1 - 2^0
  3. '3 - 2^0+2^1
  4. '2 - 2^1
  5. '5 - 2^0+2^2
  6. '4 - 2^2
  7. '6 - 2^2 + 2^1
  8.  
  9.     Select Case bType
  10.         Case 1: DriveType = 2 ^ 0
  11.         Case 2: DriveType = 2 ^ 0 + 2 ^ 1
  12.         Case 3: DriveType = 2 ^ 1
  13.         Case 4: DriveType = 2 ^ 0 + 2 ^ 2
  14.         Case 5: DriveType = 2 ^ 2
  15.         Case 6: DriveType = 2 ^ 2 + 2 ^ 1
  16.     End Select
  17. End Function

Ответить

Номер ответа: 5
Автор ответа:
 Lecture



Вопросов: 1
Ответов: 2
 Профиль | | #5 Добавлено: 24.05.09 16:53
Спасибо всем. Разобрался

Ответить

Номер ответа: 6
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #6
Добавлено: 24.05.09 19:48
rw12lq, хах=) так твоя функция упрощается)
  1. Private Function DriveType(ByVal bType As Byte) As Double
  2.     DriveType = bType
  3. End Function

Ответить

Номер ответа: 7
Автор ответа:
 rw12lq



Вопросов: 2
Ответов: 80
 Профиль | | #7 Добавлено: 25.05.09 01:34
:) неа Winand. у меня взависимости от типа двигателя.. 1,2 или третий... функция возвращает определенную степень... Это если задание мной правильно понято...

а упрощение, которое ты показал... возвращает пользователю введеное им же число :)

  1. Private Function DriveType2(ByVal bType As Byte) As Double
  2.     DriveType2 = bType
  3. End Function
  4. Private Function DriveType(ByVal bType As Byte) As Double
  5. '1 - 2^0
  6. '3 - 2^0+2^1
  7. '2 - 2^1
  8. '5 - 2^0+2^2
  9. '4 - 2^2
  10. '6 - 2^2 + 2^1
  11.  
  12.     Select Case bType
  13.         Case 1: DriveType = 2 ^ 0
  14.         Case 2: DriveType = 2 ^ 0 + 2 ^ 1
  15.         Case 3: DriveType = 2 ^ 1
  16.         Case 4: DriveType = 2 ^ 0 + 2 ^ 2
  17.         Case 5: DriveType = 2 ^ 2
  18.         Case 6: DriveType = 2 ^ 2 + 2 ^ 1
  19.     End Select
  20.  
  21. End Function
  22.  
  23. Private Sub Form_Load()
  24.     Text1 = DriveType(2)  'результат 3
  25.     Text2 = DriveType2(2) 'результат 2
  26. End Sub

Ответить

Номер ответа: 8
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #8 Добавлено: 25.05.09 01:36
Winand, невнимательный :) Не везде тип двигателя равен возвращаемому значению.

Ответить

Номер ответа: 9
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #9
Добавлено: 25.05.09 15:39
Во мля! =) я исправился
  1. Private Function DriveType(ByVal bType As Byte) As Byte
  2.     If bType = 1 Or bType = 6 Then DriveType = bType _
  3.     Else DriveType = bType Xor 1
  4. End Function

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам