roboforum.ru

Технический форум по робототехнике.
Текущее время: 19 апр 2025, 21:38

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: нужна помощь в Bascom AVR
СообщениеДобавлено: 15 июн 2011, 11:21 
Не в сети

Зарегистрирован: 15 май 2011, 19:19
Сообщения: 239
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва
Такое дело, мне нужно объединить две готовые программы, но в них есть циклы do...loop, как я знаю цикл в программе Bascom AVR может быть только один, как можно обеъдинить программы с циклами? :(

Добавлено спустя 13 минут 44 секунды:
вот два цикла
Код:
Do
Start Adc : АЦП1 = Getadc(0)
If АЦП1 >= 500 Then : Gosub Отъехать_от_препятствия_спереди : Else : Gosub Вперёд : End If
  Loop

Код:
Do
   Gosub Прием_rc5
   If Command = 255 Then
      Gosub Стоп
       Waitms 0
  Elseif Command = 32 Then
      Gosub Прямо
       Waitms 0
   Elseif Command = 33 Then
      Gosub Назад
       Waitms 0
   Elseif Command = 17 Then
      Gosub Влево
       Waitms 0
   Elseif Command = 16 Then
      Gosub Вправо
       Waitms 0
   End If
Loop


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: нужна помощь в Bascom AVR
СообщениеДобавлено: 15 июн 2011, 11:42 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Например склеить обе программы. Например так:
Код:
Do
Start Adc : АЦП1 = Getadc(0)
If АЦП1 >= 500 Then : Gosub Отъехать_от_препятствия_спереди : Else : Gosub Вперёд : End If 
Gosub Прием_rc5   
If Command = 255 Then     
   Gosub Стоп       
   Waitms 0 
Elseif Command = 32 Then     
   Gosub Прямо       
   Waitms 0   
Elseif Command = 33 Then     
   Gosub Назад       
   Waitms 0   
Elseif Command = 17 Then     
   Gosub Влево       
   Waitms 0   
Elseif Command = 16 Then     
   Gosub Вправо       
   Waitms 0   
End If
Loop

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: нужна помощь в Bascom AVR
СообщениеДобавлено: 15 июн 2011, 12:14 
Не в сети

Зарегистрирован: 15 май 2011, 19:19
Сообщения: 239
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва
Нельзя!
BascomAVR - компилятор пишет, типо что это за фигня, такого быть не может! :(

Добавлено спустя 10 минут 25 секунд:
Кто может дать пример с программой датчика поверхности :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: нужна помощь в Bascom AVR
СообщениеДобавлено: 15 июн 2011, 12:19 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Для отдельного вот такое есть: [[OR-BWSENS]]

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: нужна помощь в Bascom AVR
СообщениеДобавлено: 15 июн 2011, 12:34 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
Можно!
Просто он наверно на "Waitms 0" ругается


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: нужна помощь в Bascom AVR
СообщениеДобавлено: 15 июн 2011, 12:42 
Не в сети

Зарегистрирован: 15 май 2011, 19:19
Сообщения: 239
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва
Гуль, а если всё совмещать, то нужно переменных 2х программ соединить и конфигурации портов, да?
И что можно циклы просто складывать?
А что если циклы по разному назваются?
Do...Loop Until или While ... Wend?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: нужна помощь в Bascom AVR
СообщениеДобавлено: 15 июн 2011, 12:51 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Посмотрите примеры BASCOM

_________________
Читайте !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: нужна помощь в Bascom AVR
СообщениеДобавлено: 15 июн 2011, 13:50 
Не в сети
Аватара пользователя

Зарегистрирован: 12 май 2010, 13:30
Сообщения: 278
Откуда: Уральск-Самара
Skype: sky-jap
прог. языки: Bascom AVR Basic
ФИО: Полулях Сергей Валерьевич
Почитай здесь про циклы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: нужна помощь в Bascom AVR
СообщениеДобавлено: 15 июн 2011, 18:50 
Не в сети

Зарегистрирован: 15 май 2011, 19:19
Сообщения: 239
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва
Вот интересный вопрос, можно ли на Бейсике реализовать такую тему:
При нажатии кнопки, чтобы менялась программа, т.е. не нужно будет каждый раз прошивать МК.
Если можно скажите как, или лучше дайте скелет такой программы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: нужна помощь в Bascom AVR
СообщениеДобавлено: 21 июн 2011, 18:39 
Не в сети

Зарегистрирован: 15 май 2011, 19:19
Сообщения: 239
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва
Люди не кто не знает как расширить порты на Bascom AVR?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: нужна помощь в Bascom AVR
СообщениеДобавлено: 21 июн 2011, 18:45 
Не в сети
Аватара пользователя

Зарегистрирован: 07 сен 2009, 20:06
Сообщения: 333
прог. языки: c, c#
ФИО: Евгений
Можно расширить при помощи вот такой микросхемы:
http://avrdevices.ru/rasshiritely-portov-mcp23008/
Подключается по I2C, про это наверняка есть в хелпе баскома.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: нужна помощь в Bascom AVR
СообщениеДобавлено: 22 июн 2011, 23:02 
Не в сети

Зарегистрирован: 15 май 2011, 19:19
Сообщения: 239
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва
Гуль, точно можно "склеивать" программы совмещая циклы? :sorry:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: нужна помощь в Bascom AVR
СообщениеДобавлено: 22 июн 2011, 23:14 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Если переменные и функции не пересекаются - можно

Добавлено спустя 1 минуту 15 секунд:
С другой стороны, можно после склейки программу прогнать дебаггером, проверить в Протеусе и т. д... и там сразу видно все будет, правильно склеил или нет

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: нужна помощь в Bascom AVR
СообщениеДобавлено: 29 ноя 2011, 23:50 
Не в сети
Аватара пользователя

Зарегистрирован: 28 июн 2010, 12:42
Сообщения: 50
Откуда: Краснодарский край, Выселковский район, ст. Березанская
ФИО: Игорь Олегович
Не хотел тему создавать, но мне тоже помощь по Баскому нужна. Начал осваивать программирование 2 дня назад, уже и светодиодом помигал, и несколькими светодиодами по очереди, и с кнопкой. А вот сейчас пытаюсь написать код для робота, чтобы с контактными датчиками ездил, и не фурычит. Пробовал пока с одним бампером, но не пашет
Код:
$regfile = "ATtiny2313.DAT"                                 '-Attiny2313
$crystal = 4000000                                          ' указываем на какой частоте будем работать
'--------Описание портов-----------------

Config Pind.2 = Output : Dr1 Alias Portd.2
Config Pind.3 = Output : Dr2 Alias Portd.3
Config Pind.4 = Output : Dr3 Alias Portd.4
Config Pind.5 = Output : Dr4 Alias Portd.5
Config Pind.0 = Input : Pr1 Alias Portd.0

Do
If Pr1 = 1 Then : Gosub Вправо
Else : Gosub Вперёд
Loop Until Pr1 = 0
Return



'-------------------------Движение---------------------------------

Вперёд:                                                     'едем вперёд
Dr1 = 0 : Dr2 = 1 : Dr3 = 1 : Dr4 = 0
Return

Вправо:                                                     'поворачиваем вправо
Dr1 = 1 : Dr2 = 0 : Dr3 = 1 : Dr4 = 0
Return


End If
End


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: нужна помощь в Bascom AVR
СообщениеДобавлено: 30 ноя 2011, 11:38 
Не в сети

Зарегистрирован: 21 мар 2010, 19:33
Сообщения: 48
Skype: levanchik322
прог. языки: WinAVR С, C++, HiAsm, BascomAVR.
Попробуй так:
Код:

$regfile = "ATtiny2313.DAT"                                 '-Attiny2313
$crystal = 4000000                                          ' указываем на какой частоте будем работать
'--------Описание портов-----------------
Config Pind.2 = Output : Drl Alias Portd.2
Config Pind.3 = Output :  Drr Alias Portd.3
Config Pind.4 = Output : Dre Alias Portd.4
Config Pind.5 = Output : Drw Alias Portd.5
Config Pind.0 = Input : Pr1 Alias Portd.0
Pr1 = 1
Do
Gosub Прямо
If Pr1 = 0 Then : Gosub назад : Waitms 3000 : Gosub Влево : Waitms 3000
End if
Loop
Return



'-------------------------Движение---------------------------------

Налево:                                                     ' едим налево
   Drl = 0 : Drr = 1 : Dre = 1 : Drw = 0: Return

Направо:                                                    ' едим направо
   Drl = 1 : Drr = 0 : Dre = 0 : Drw = 1 : Return

Прямо:                                                      ' едим прямо
  Drl = 1 : Drr = 0 : Dre = 1 : Drw = 0 : Return

Назад:                                                      ' едим назад
   Drl = 0 : Drr = 1 : Dre = 0 : Drw = 1 : Return

Стоп:                                                       ' стоим на месте
  Drl = 0 : Drr = 0 : Dre = 0 : Drw = 0 : Return

Давно я работал на бейсике, сейчас пишу на winavr, если нужно могу написать :)
Вообще посмотри вот здесь: http://cdxp.zx6.ru/sources/?p=61


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO