Помогите разобраться со стринговыми переменными - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ivan_fd 
Форум Picbasic.ru » Программирование МК » PicBasicPro » Помогите разобраться со стринговыми переменными
Помогите разобраться со стринговыми переменными
ilyafm98 Дата: Ср, 16.11.2011, 20:00  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 18
Репутация: 0   ±
Замечания:   ±
На сайте с 08.12.2010

Статус: Offline

Возникла необходимость управлять 10-ю сервоприводами. Написал прошивку, все работает но на преобразование принятой строки в значение положения каждой сервомашинки тратится слишком много времени. Подскажите, можно ли как- нибудь упростить преобразования для экономии времени?

Code

Define osc 20

DEFINE HSER_BAUD  57600               
DEFINE HSER_RCSTA 90h                 
DEFINE HSER_TXSTA 24h                  
DEFINE HSER_SPBRG 21
DEFINE HSER_CLROERR 1                  

serv0 var word  
serv1 var word  
serv2 var word  
serv3 var word  
serv4 var word  
serv5 var word  
serv6 var word  
serv7 var word  
serv8 var word  
serv9 var word  
     
                    

                
trisc = %11111100                          
trisb = %00000000
                    
gpsdata var byte[41]        

main:
HSERIN 100, main, [WAIT("A"), STR gpsdata\41]

serv0 = (gpsdata[0]-$30)*1000+ (gpsdata[1]-$30)*100+ (gpsdata[2]-$30)*10+ (gpsdata[3]-$30)
serv1 = (gpsdata[4]-$30)*1000+ (gpsdata[5]-$30)*100+ (gpsdata[6]-$30)*10+ (gpsdata[7]-$30)
serv2 = (gpsdata[8]-$30)*1000+ (gpsdata[9]-$30)*100+ (gpsdata[10]-$30)*10+ (gpsdata[11]-$30)
serv3 = (gpsdata[12]-$30)*1000+ (gpsdata[13]-$30)*100+ (gpsdata[14]-$30)*10+ (gpsdata[15]-$30)
serv4 = (gpsdata[16]-$30)*1000+ (gpsdata[17]-$30)*100+ (gpsdata[18]-$30)*10+ (gpsdata[19]-$30)
serv5 = (gpsdata[20]-$30)*1000+ (gpsdata[21]-$30)*100+ (gpsdata[22]-$30)*10+ (gpsdata[23]-$30)
serv6 = (gpsdata[24]-$30)*1000+ (gpsdata[25]-$30)*100+ (gpsdata[26]-$30)*10+ (gpsdata[27]-$30)
serv7 = (gpsdata[28]-$30)*1000+ (gpsdata[29]-$30)*100+ (gpsdata[30]-$30)*10+ (gpsdata[31]-$30)
serv8 = (gpsdata[32]-$30)*1000+ (gpsdata[33]-$30)*100+ (gpsdata[34]-$30)*10+ (gpsdata[35]-$30)
serv9 = (gpsdata[36]-$30)*1000+ (gpsdata[37]-$30)*100+ (gpsdata[38]-$30)*10+ (gpsdata[39]-$30)

portc = 0
pulsout portc.1, serv0
portc = 0
pulsout portc.0, serv1
portc = 0
portb = 0
pulsout portb.0, serv2
portb = 0
pulsout portb.1, serv3
portb = 0
pulsout portb.2, serv4
portb = 0
pulsout portb.3, serv5
portb = 0
pulsout portb.4, serv6
portb = 0
pulsout portb.5, serv7
portb = 0
pulsout portb.6, serv8
portb = 0
pulsout portb.7, serv9
portb = 0
goto main
ЯНДЕКС Дата: 16.11.2011
ADMIN Дата: Чт, 17.11.2011, 10:39  |                                                                                                                Сообщение # 2
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Используй Proton+. Там есть оператор Val, который преобразует строку в число
retas Дата: Пт, 18.11.2011, 21:17  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 462
Репутация: 10   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

ADMIN!
Раз уж упомянули Proton+, хотел спросить, каторый конкретно и откуда на сегодня следует устанавливать - из за вируса
пришлось всё снести и сижу пока что без Протона а устанавливать бывший неохота.
Спасибо.


Новый подход к питанию потребителей переменного тока: http://ekolaif.ucoz.ru
ADMIN Дата: Сб, 19.11.2011, 04:46  |                                                                                                                Сообщение # 4
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Ну в архиве есть последняя версия - 3.5.2.7. Можете смело качать. Вирусов там нет. Скачал себе и установил. Все в порядке.
retas Дата: Сб, 19.11.2011, 18:24  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 462
Репутация: 10   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

ADMIN!
Спасибо.
А эта версия случаем не для Win7 (у меня XP)?


Новый подход к питанию потребителей переменного тока: http://ekolaif.ucoz.ru
ADMIN Дата: Сб, 19.11.2011, 19:37  |                                                                                                                Сообщение # 6
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Да, это для семерки. Но я почему-то думаю, что она и для XP пойдет
retas Дата: Сб, 19.11.2011, 22:04  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 462
Репутация: 10   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Да, встала вроде нормально, но компилить не позволяет - выдаёт постоянно ERROR: Missing security key !!!

Новый подход к питанию потребителей переменного тока: http://ekolaif.ucoz.ru
ADMIN Дата: Вс, 20.11.2011, 04:13  |                                                                                                                Сообщение # 8
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Это уже вылеченная выдает?
Таблетка то точно и для XP и для семерки подходит.
retas Дата: Вс, 20.11.2011, 15:25  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 462
Репутация: 10   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

ADMIN !
Ну, лекарь из меня, наверное, так себе а указаний по установке никаких не приложено.
Распаковал всё в одну директорию, получил три файла:
1. Proton Compiler Setup 3.5.2.7 - Win7(32-bit).exe
2. Proton IDE.exe
3. PrPlus.exe
Инсталировал первый, запускаю вторым. Мож ещё чего нужно?
Спасибо.


Новый подход к питанию потребителей переменного тока: http://ekolaif.ucoz.ru
ADMIN Дата: Вс, 20.11.2011, 15:57  |                                                                                                                Сообщение # 10
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Да эти ссылки выложил HardMaster. В предыдущих версиях в архиве я указывал, что делать. Нужно установить Proton Compiler Setup 3.5.2.7 - Win7(32-bit).exe
Потом перейти в папку установки и скопировать туда Файл ProtonIde.exe, заменив оригинальный. И также в папке установки есть папка PDS, в которую нужно скопировать файл PrPlus.exe в эту папку, также заменив оригинальный.
retas Дата: Вс, 20.11.2011, 16:48  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 462
Репутация: 10   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Спасибо,ADMIN, получилось. Ну и себя по голове погладил - всёж понял как надо!

Новый подход к питанию потребителей переменного тока: http://ekolaif.ucoz.ru
Форум Picbasic.ru » Программирование МК » PicBasicPro » Помогите разобраться со стринговыми переменными
Страница 1 из 11
Поиск: