roboforum.ru

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

Транспортный робот. ДП.

Re: Транспортный робот. ДП.

flyroman » 28 фев 2010, 19:12

Bluetooth адаптер к RoboBUS один к одному подсоединять?

Re: Транспортный робот. ДП.

=DeaD= » 28 фев 2010, 19:45

да, это же Спарта! шина! :)

Re: Транспортный робот. ДП.

flyroman » 01 мар 2010, 12:31

Ребят, знатоки Bascom , направьте пожалуйста на код нормального приема сообщений по UART

Отправка-то с ней просто - Print...

А как с приемом быть....покажите пожалуйста.

Re: Транспортный робот. ДП.

galex1981 » 01 мар 2010, 15:41

Объявления:
Код: Выделить всёРазвернуть
$prog &HFF , &HE4 , &HD9 , &H00
$regfile = "m32def.dat"
$crystal = 8000000                                         
$baud = 115200

$framesize = 16
$hwstack = 24
$swstack = 16
'Принимаемый символ
Dim Comchar As Byte

On Urxc Getchar                                             'переопределяем прерывание на передачу по usart
Enable Urxc
Enable Interrupts
'Основной цикл
Do
Loop

Getchar:
   Comchar = Inkey()
Return


Re: Транспортный робот. ДП.

flyroman » 01 мар 2010, 17:09

Спасибо , но....опять также

код:
Код: Выделить всёРазвернуть
$regfile = "m32def.dat"
$crystal = 7372800
$baud = 115200

'Принимаемый символ
Dim Comchar As Byte

On Urxc Getchar                               
Enable Urxc
Enable Interrupts

Do

Loop

Getchar:
   Comchar = Inkey()
   Print Comchar
Return


Отправляю строку "roman", в ответ:
Код: Выделить всёРазвернуть
114
111
109
13

3 символа + enter

Re: Транспортный робот. ДП.

blindman » 01 мар 2010, 18:44

хз как этот баском работает, но похоже, у тебя программа тупо не успевает. Ты при приеме каждого символа передаешь как минимум 4

Re: Транспортный робот. ДП.

galex1981 » 01 мар 2010, 18:55

Слушай, а у тебя кварц точно 7372800?

Re: Транспортный робот. ДП.

blindman » 01 мар 2010, 18:58

Объясните пожалуйста, как эта программа работает? В прерывании по приему символа вы отправляете код символа- минимум 2 символа, потом \r\n. Итого 4 символа. А комп в это время еще символы шлет то есть они просто теряются?

Re: Транспортный робот. ДП.

flyroman » 01 мар 2010, 21:29

Кварц точно такой. Контрллер OR-AVR-M32-D

blindman, а вот это может вариант...
Попробую записать в буфер переменную а затем отправить...

Re: Транспортный робот. ДП.

flyroman » 02 мар 2010, 13:01

WIKI писал(а):...Подключение Дальномеров

GP2D12, GP2D120, GP2Y0A02, GP2D15, GP2Y0D02, GP2Y0A21 оснащены одинаковым разъемом для подключения. Он называется Japan Solderless Terminal (JST). Разъем имеет 3 контакта: ground, vcc и output.

Так как дальномер излучает непрерывно,....

А главное не написана распиновка..где какой контакт у SHARPa....написано что имее три контакта, да это и так видно....

Re: Транспортный робот. ДП.

=DeaD= » 02 мар 2010, 13:05


Re: Транспортный робот. ДП.

flyroman » 03 мар 2010, 02:39

Вот для потомков :beer: ! Кстати в сети не нашел ни одного подобного кода на Bascom AVR, чтобы сообщения принимал.
Вот рабочий код:

Код: Выделить всёРазвернуть
'------------------------------------------------------------------
' flyroman by roboforum.ru ®2010
' Программа приема и отправки сообщений по UART/ Bascom AVR
'------------------------------------------------------------------
$regfile = "m32def.dat"
$crystal = 7372800
$baud = 115200

$framesize = 16
$hwstack = 24
$swstack = 16


Dim Comchar As Byte                                         'принимаемый символ
Dim Buff As String * 20                                     'переменная буфер
Dim Bcount As Byte                                          'счетчик принятых байтов
Dim Flagbuf As Bit                                          'переменная Флаг конца приема сообщения

On Urxc Getchar                                             'переопределяем прерывание на передачу по usart
Enable Urxc                                                 'включаем прерывание uart
Enable Interrupts

Reset Flagbuf

'Основной цикл
Do

If Flagbuf = 1 Then
Disable Serial

'If Mid(buff , 1 , 5) = "hello" Then     'проверка на приход определенного сообщения, в данном случае "hello"
'
'  .....
'
'End If

Print Buff      'отправляем принятое сообщение
Print Bcount      'тправляем количество принятых байт
Buff = ""      'сбрасываем буфер

Reset Flagbuf             'сбрасываем флаг приема сообщения
Enable Serial
End If

Loop


Getchar:
   Comchar = Inkey()  'принимаем 1 символ

   If Comchar <> 13 Then 'проверяем является ли этот символ Enter'ом
   Buff = Buff + Chr(comchar) 'если нет, то добавляем его в буфер
   Incr Bcount   'увеличиваем на 1 счетчик байтов
   Else
      Flagbuf = 1  'если символ оказался "Enter", тогда флаг устанавливаем в 1. "Enter"- конец сообщения
   End If

Return


Добавлено спустя 2 часа 32 минуты 35 секунд:
Интересная штука:
http://shop.roboforum.ru/product/kontro ... vigatelej/
контроллер скорости.

У него есть 2 провода-силовой вход питания, 2 провода-выход на мотор, и 3-провода для сигнала (+,-,сигнал)....

Интересно так, подключаю силовой вход питания к батарее питания......И, и.... на шлейфе из трех проводов появляется напряжение, нормальное напряжение.....Подсоединяю шлейф к плате контроллера с отключенным питанием, плата включается....МК работает...

Это нормально, что на сигнальном шлейфе питание появляется?

Re: Транспортный робот. ДП.

=DeaD= » 03 мар 2010, 08:44

Видимо он 5В выдаёт - питание для ресивера.

Re: Транспортный робот. ДП.

Vooon » 03 мар 2010, 09:35

Очень часто модельные контроллеры скорости имеют встроенный BEC (обычный, линейный) для питания приемника и нескольких серв.

Re: Транспортный робот. ДП.

=DeaD= » 03 мар 2010, 09:59

* нескольких мелких серв, HXT12k скорее всего уже не потянет.


Rambler\'s Top100 Mail.ru counter