roboforum.ru

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

Вывод в гипертерминал

Re: Вывод в гипертерминал

olegsem » 10 май 2011, 11:37

что изменить?
И как получается что фусибиты не совпадают с программой?
мегу88 стер, теперь ни мусора ни вообще ничего не выводится в терминал

Добавлено спустя 3 минуты 46 секунд:
$prog &HFF , &HE4 , &HD9 , &H00 'указываем какие фусибиты надо прошить
$regfile = "m32def.dat" ' файл спецификации Меги32
$crystal = 7372800 ' указываем на какой частоте будем работать
$baud = 2400 ' указываем скорость на которой будет работать уарт

'----------------------------------------------------------------------------
'Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
'Config Pinc.2 = Output : Drl Alias Portc.2 'ногу сконфигурировали как выход и обозвали Drl
'Config Pinc.3 = Output : Drr Alias Portc.3 'ногу сконфигурировали как выход и обозвали Drr
'Config Pind.4 = Output 'ногу ШИМа левого движка сконфигурировали как выход
'Config Pind.5 = Output 'ногу ШИМа правого движка сконфигурировали как выход
'----------------------------------------------------------------------------

Dim Speed As Byte
Speed = 70

Print "Start MiniBot"

Do

Loop

Добавлено спустя 6 минут 53 секунды:
Может я не правильно считываю?

Re: Вывод в гипертерминал

galex1981 » 10 май 2011, 11:54

Фусибиты твоей программы:
Код: Выделить всёРазвернуть
$prog &HFF , &HE4 , &HD9 , &H00 'указываем какие фусибиты надо прошить

Как и предполагал мусор в терминале был из за меги88
Ничего не выводится в терминал - потому что ты не успеваешь приветствие засечь.

Чтобы выводилось в терминал что то допиши между Do и Loop:

Код: Выделить всёРазвернуть
Print "Hello"
waitms 800


и тогда будет выводиться Hello

Re: Вывод в гипертерминал

EdGull » 10 май 2011, 11:57

строка "$prog &HFF , &HE4 , &HD9 , &H00 'указываем какие фусибиты надо прошить" актуальна только для баскомовского программатора, поэтому твой программатор из аврстудии ее игнорирует и не может использовать.
Тебе необходимо руками аврстудиевском программатором указать что мега32 должна работать на внешнем кварце.

Re: Вывод в гипертерминал

olegsem » 10 май 2011, 12:03

к сожелению, ничегоне появляется в терминале все равно
вот программа

$prog &HFF , &HE4 , &HD9 , &H00 'указываем какие фусибиты надо прошить
$regfile = "m32def.dat" ' файл спецификации Меги32
$crystal = 8000000 ' указываем на какой частоте будем работать
$baud = 2400 ' указываем скорость на которой будет работать уарт

'----------------------------------------------------------------------------
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Config Pinc.2 = Output : Drl Alias Portc.2 'ногу сконфигурировали как выход и обозвали Drl
Config Pinc.3 = Output : Drr Alias Portc.3 'ногу сконфигурировали как выход и обозвали Drr
Config Pind.4 = Output 'ногу ШИМа левого движка сконфигурировали как выход
Config Pind.5 = Output 'ногу ШИМа правого движка сконфигурировали как выход
'----------------------------------------------------------------------------

Dim Speed As Byte
Speed = 70

Print "Start MiniBot"
waitms 800
Do

Print "Hello"
waitms 800

Loop

Добавлено спустя 1 минуту 45 секунд:
EdGull писал(а):строка "$prog &HFF , &HE4 , &HD9 , &H00 'указываем какие фусибиты надо прошить" актуальна только для баскомовского программатора, поэтому твой программатор из аврстудии ее игнорирует и не может использовать.
Тебе необходимо руками аврстудиевском программатором указать что мега32 должна работать на внешнем кварце.


я в студии только считывал, прошиваю в баскоме

Re: Вывод в гипертерминал

galex1981 » 10 май 2011, 12:04

Если ты фьюзы не трогал то строку:
Код: Выделить всёРазвернуть
$crystal = 8000000 ' указываем на какой частоте будем работать

замени на:
Код: Выделить всёРазвернуть
$crystal = 7372800 ' указываем на какой частоте будем работать


Добавлено спустя 52 секунды:
А еще б я посоветовал:
Код: Выделить всёРазвернуть
----------------------------------------------------------------------------
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Config Pinc.2 = Output : Drl Alias Portc.2 'ногу сконфигурировали как выход и обозвали Drl
Config Pinc.3 = Output : Drr Alias Portc.3 'ногу сконфигурировали как выход и обозвали Drr
Config Pind.4 = Output 'ногу ШИМа левого движка сконфигурировали как выход
Config Pind.5 = Output 'ногу ШИМа правого движка сконфигурировали как выход
'----------------------------------------------------------------------------

убрать так как ты это не используешь

Re: Вывод в гипертерминал

olegsem » 10 май 2011, 12:07

заменил на 7372800 и заработало HELLO :Yahoo!:

$prog &HFF , &HE4 , &HD9 , &H00 'указываем какие фусибиты надо прошить
$regfile = "m32def.dat" ' файл спецификации Меги32
$crystal = 7372800 ' указываем на какой частоте будем работать
$baud = 2400 ' указываем скорость на которой будет работать уарт



Print "Start MiniBot"
waitms 800
Do

Print "Hello"
waitms 800

Loop

но "Start MiniBot" так и не выводится

Re: Вывод в гипертерминал

galex1981 » 10 май 2011, 12:14

Просто после включения минибота терминал позже инициализируется чем выдается сообщение - просто не успеваешь его регистрировать. Если б сделал программный сброс Watchdog то смог бы его увидеть после перезагрузки минибота

Re: Вывод в гипертерминал

olegsem » 10 май 2011, 12:21

Спасибо всем за помощь!!!
Буду разбираться с приемом данных с пульта

Re: Вывод в гипертерминал

EdGull » 10 май 2011, 12:22

напиши так

Код: Выделить всёРазвернуть
waitms 800
Print "Start MiniBot"

Re: Вывод в гипертерминал

olegsem » 10 май 2011, 12:31

EdGull писал(а):напиши так

Код: Выделить всёРазвернуть
waitms 800
Print "Start MiniBot"

так не выводит

Re: Вывод в гипертерминал

EdGull » 10 май 2011, 12:42

полный код меги32 в студию

Re: Вывод в гипертерминал

olegsem » 10 май 2011, 12:47

$prog &HFF , &HE4 , &HD9 , &H00 'указываем какие фусибиты надо прошить
$regfile = "m32def.dat" ' файл спецификации Меги32
$crystal = 7372800 ' указываем на какой частоте будем работать
$baud = 2400 ' указываем скорость на которой будет работать уарт



waitms 800
Print "Start MiniBot"

Do

Loop

Re: Вывод в гипертерминал

galex1981 » 10 май 2011, 12:53

Замени waitms 800
на waitms 3000

скорее всего пойдет...

Добавлено спустя 23 секунды:
По крайней мере у меня работает

Re: Вывод в гипертерминал

olegsem » 10 май 2011, 13:29

поставил сразу 8000
запустил терминал, подождал и появилось
все ок.

Добавлено спустя 29 минут 13 секунд:
Следующий шаг это ловить комманды с пульта

$prog &HFF , &HE4 , &HD9 , &H00 'указываем какие фусибиты надо прошить
$regfile = "m32def.dat" ' файл спецификации Меги32
$crystal = 7372800 ' указываем на какой частоте будем работать
$baud = 2400 ' указываем скорость на которой будет работать уарт


Config Rc5 = Pind.3
Enable Interrupts
Dim Address As Byte , Command As Byte


Waitms 8000
Print "Start MiniBot"

Do
Getrc5(address , Command)
If Address <> 255 And Command <> 255 Then
Command = Command And &B01111111
Print Chr(12);
Print "Address - " ; Address
Print "Command - " ; Command;
End If
Loop

Start MiniBot появляется и все, больше ничего
Пультом в TSOP свечу, но комманды не приплывают
Последний раз редактировалось EdGull 10 май 2011, 13:04, всего редактировалось 1 раз.
Причина: Устное предупреждение за излишнее цитирование! В следующий раз сразу бан.

Re: Вывод в гипертерминал

galex1981 » 10 май 2011, 13:55

А как ты подключил TSOP к миниботу?


Rambler\'s Top100 Mail.ru counter