Из цифр в числа - еще один вопрос новичка
|
|
sandro37 |
Дата: Вс, 26.02.2012, 11:43 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
21
Замечания:
±
На сайте с 06.02.2012
Статус:
Offline
|
Через serin от терминала получаю в массив 3 цифры 7, 5, 0 Каким образом из них можно получить десятичное число 750 и записать его в переменную? Или может есть другой способ передачи 3-х значного числа?
|
|
|
|
ivan_fd |
Дата: Вс, 26.02.2012, 12:34 | Сообщение # 2 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Передавайте сразу то число какое Вам нужно. В вашем случаи, 750 это WORD, передаете сначала один байт потом другой.
|
|
|
|
TriRozhka |
Дата: Вс, 26.02.2012, 19:11 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
7
Замечания:
±
На сайте с 06.02.2012
Статус:
Offline
|
Если важно именно из 3 чисел получить 3 значное число, то :
dim RES as word dim M[3] as byte ...
RES = M[0] * 100 RES = RES + M[1] * 10 RES = RES + M[2] ...
Иначе сделать так как написали вам выше.
|
|
|
|
sandro37 |
Дата: Вс, 26.02.2012, 20:56 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
21
Замечания:
±
На сайте с 06.02.2012
Статус:
Offline
|
Как из 3 чисел получить 3 значное число, алгоритм понятен. Но больше интересует ка передать одним числом. Пробую вот так, не получается. Code Dim VALUE As Word Dim T As Word
Print $FE, 1, "Hello" ' Очистить экран и вывести “Hello” main: SerIn PORTB.1, T9600, 10, dalshe, [VALUE] If VALUE > 0 Then T=VALUE Print $FE, 1, T EndIf dalshe: .....
|
|
|
|
ADMIN |
Дата: Пн, 27.02.2012, 03:46 | Сообщение # 5 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Нужно создать массив из трех байт и принимать данные как строку:
Dim VALUE[3] As byte Dim res as word Dim T As Word
Print $FE, 1, "Hello" ' Очистить экран и вывести “Hello” main: SerIn PORTB.1, T9600, 10, dalshe, [Str VALUE]
'После этого преобразовать значение в число: res = Val(Value, Dec) 'Почитай справку 'А здесь делай с ним что хочешь
If res > 0 Then T=res Print $FE, 1, T EndIf
|
|
|
|
sandro37 |
Дата: Пн, 27.02.2012, 10:38 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
21
Замечания:
±
На сайте с 06.02.2012
Статус:
Offline
|
Спасибо, Val - именно этой функции и не хватало.
|
|
|
|