roboforum.ru

Технический форум по робототехнике.

 

прерывание, помогите

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Re: прерывание, помогите

Сообщение chinga » 05 апр 2010, 00:17

сигналы от радиоприемника...
игрушечный...
Код: Выделить всёРазвернуть
$regfile = "m32def.dat"
$crystal = 16000000

Config Pinb.4 = Input                                       'вперед
Config Pinb.5 = Input                                       'назад
Config Pinb.6 = Input                                       'вправо
Config Pinb.7 = Input                                       'влево
Config Portb.0 = Output                                     'вперед_правый мотор
Config Portb.1 = Output                                     'назад_правый мотор
Config Portb.2 = Output                                     'вперед_левый мотор
Config Portb.3 = Output                                     'назад_левый мотор


Do

If Pinb.4 = 1 Then                                          'вперед
  Portb.0 = 1
  Portb.1 = 0
  Portb.2 = 1
  Portb.3 = 0
  Waitms 100
  Else
  Portb.0 = 0
  Portb.1 = 0
  Portb.2 = 0
  Portb.3 = 0
  End If

If Pinb.5 = 1 Then                                          'назад
  Portb.0 = 0
  Portb.1 = 1
  Portb.2 = 0
  Portb.3 = 1
  Waitms 100
  Else
  Portb.0 = 0
  Portb.1 = 0
  Portb.2 = 0
  Portb.3 = 0
  End If

If Pinb.6 = 1 Then                                          'вправо
  Portb.0 = 0
  Portb.1 = 1
  Portb.2 = 1
  Portb.3 = 0
  Waitms 100
  Else
  Portb.0 = 0
  Portb.1 = 0
  Portb.2 = 0
  Portb.3 = 0
  End If

If Pinb.7 = 1 Then                                          'влево
  Portb.0 = 1
  Portb.1 = 0
  Portb.2 = 0
  Portb.3 = 1
  Waitms 100
  Else
  Portb.0 = 0
  Portb.1 = 0
  Portb.2 = 0
  Portb.3 = 0
  End If


Loop

End


драйвер на реле... через ULN2003
chinga
 
Сообщения: 203
Зарегистрирован: 24 дек 2008, 17:55
Откуда: Актюбинск

Re: прерывание, помогите

Сообщение galex1981 » 05 апр 2010, 00:25

У тебя уже неверно:
Код: Выделить всёРазвернуть
Config Portb.0 = Output 'вперед_правый мотор
Config Portb.1 = Output 'назад_правый мотор
Config Portb.2 = Output 'вперед_левый мотор
Config Portb.3 = Output 'назад_левый мотор

Ты должен конфигурировать:
Код: Выделить всёРазвернуть
Config Pinb.0 = Output 'вперед_правый мотор
Config Pinb.1 = Output 'назад_правый мотор
Config Pinb.2 = Output 'вперед_левый мотор
Config Pinb.3 = Output 'назад_левый мотор
Последний раз редактировалось galex1981 05 апр 2010, 00:43, всего редактировалось 1 раз.
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4360
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: прерывание, помогите

Сообщение chinga » 05 апр 2010, 00:39

galex1981 писал(а):Ты должен конфигурировать:
Код: Выделить всёРазвернуть
Config Pin.0 = Output 'вперед_правый мотор
Config Pin.1 = Output 'назад_правый мотор
Config Pin.2 = Output 'вперед_левый мотор
Config Pin.3 = Output 'назад_левый мотор

не так?
Код: Выделить всёРазвернуть
Config Pinb.0 = Output 'вперед_правый мотор
Config Pinb.1 = Output 'назад_правый мотор
Config Pinb.2 = Output 'вперед_левый мотор
Config Pinb.3 = Output 'назад_левый мотор
chinga
 
Сообщения: 203
Зарегистрирован: 24 дек 2008, 17:55
Откуда: Актюбинск

Re: прерывание, помогите

Сообщение galex1981 » 05 апр 2010, 00:43

Да, верно, исправил
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4360
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: прерывание, помогите

Сообщение chinga » 05 апр 2010, 00:46

а в чем разница? порт и пин
chinga
 
Сообщения: 203
Зарегистрирован: 24 дек 2008, 17:55
Откуда: Актюбинск

Re: прерывание, помогите

Сообщение galex1981 » 05 апр 2010, 00:51

Настраиваешь ты всегда пин (и данные с него снимаешь если входом является), а в порт ты отсылаешь данные, лучше тебе прочитать соответствующую литературу - там популярно написано об этом
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4360
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Пред.

Вернуться в Новичкам или основы основ роботостроения.

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

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

Mail.ru counter