roboforum.ru

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

МикроКонтроллер AVR начинающим - общие вопросы

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение SkyStorm » 01 июл 2010, 16:09

Тест работы бампера. Проверь.
Куда подключены Led1 и Led2 поправь на твои данные.
Код: Выделить всёРазвернуть
$regfile = "m16def.dat"
$crystal = 16000000

Config Pina.4 = Input : B1 Alias Porta. 4
Config Pina.5 = Input : B2 Alias Porta.5

Config Pinb.1 = Output : Led1 Alias Portb.1
Config Pinb.2 = Output : Led2 Alias Portb.2

'Constants
Const Switch_on = 1
Const Switch_off = 0

Do

Led1 = Switch_off
Led2 = Switch_off
Waitms 50
Led1 = B1
Led2 = B2
Waitms 50

Loop
Никто кроме нас!!!
4Robots.ru - Все для роботов!
Аватара пользователя
SkyStorm
 
Сообщения: 2687
Зарегистрирован: 05 фев 2008, 15:33
Откуда: St. Petersburg - Moscow
Skype: SkyStorm77
ФИО: Костюк Константин Вячеславович

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Zeus » 01 июл 2010, 16:12

Бампер работает.

А как проверил, что работает?
Давай весь полный код с подпрограммами.
«Сон разума рождает чудовищ»
Аватара пользователя
Zeus
 
Сообщения: 862
Зарегистрирован: 28 июл 2009, 10:02
Откуда: Самара
ФИО: Павел Сергеевич

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Skyline » 01 июл 2010, 21:15

А как проверил, что работает?

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

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Zeus » 02 июл 2010, 14:02

Ясно. Значит где-то в коде оBшибка.
Давай полный развернутый код с gosubами.
«Сон разума рождает чудовищ»
Аватара пользователя
Zeus
 
Сообщения: 862
Зарегистрирован: 28 июл 2009, 10:02
Откуда: Самара
ФИО: Павел Сергеевич

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Skyline » 02 июл 2010, 16:58

Вообщем как-то так:
Код: Выделить всёРазвернуть
$regfile = "m16def.dat"
$crystal = 16000000

Config Pina.0 = Output : M1f Alias Porta.0
Config Pina.1 = Output : M1b Alias Porta.1
Config Pina.2 = Output : M2f Alias Porta.2
Config Pina.3 = Output : M2b Alias Porta.3
Config Pina.4 = Input : B1 Alias Porta.4
Config Pina.5 = Input : B2 Alias Porta.5

Do
If B1 = 1
Then
Goto M1
M1 : If B2 = 1
Gosub Вперёд
Else
Gosub Назад_вправо
End If
Else
Goto M2
M2 : If B2 = 0
Then
Gosub Назад
Else
Gosub Назад_влево
End If
End If
Loop

Вперёд:
M1f = 1 : M1b = 0
M2f = 1 : M2b = 0
Return
Вперёд_вправо:
M1f = 1 : M1b = 0
M2f = 0 : M2b = 0
Return
Вперёд_влево:
M1f = 0 : M1b = 0
M2f = 1 : M2b = 0
Return
Назад:
M1f = 0 : M1b = 1
M2f = 0 : M2b = 1
Return
Назад_вправо:
M1f = 0 : M1b = 1
M2f = 1 : M2b = 0
Return
Назад_влево:
M1f = 0 : M1b = 0
M2f = 0 : M2b = 1
Return
Разворот_вправо:
M1f = 1 : M1b = 0
M2f = 0 : M2b = 1
Return
Разворот_влево:
M1f = 0 : M1b = 1
M2f = 1 : M2b = 0
Return

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

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение GHOST_J_D » 16 июл 2010, 00:07

На некоторых платах есть кнопка ресет, соеденена с линией ресет - (например 8 мега , 1 вывод), и с землей.
Когда мы нажимаем на кнопку то замыкаем "минус" с линией ресет на МК, я правильно понимаю?, если ошибаюсь поправите пожалуйста, просто назначение резистора (который тоже часто встречается)на этом контакте (ресет) я не понимаю :o
Я стал таким, каким я стал, сожалеть поздно...
Аватара пользователя
GHOST_J_D
 
Сообщения: 74
Зарегистрирован: 19 апр 2010, 08:38
Откуда: SVERDLOVSK
прог. языки: нелюблю
ФИО: Лёха

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 16 июл 2010, 08:49

Если резистор на + питания ( обычно 4-10 кОм ) то это "подтяжка" - тюею создание определенного напряжения на ножке - четкой лог "1" - когда кнопка не нажата.

Я еще рекомендую резистор между кнопкой и ножкой - 200-500 Ом а подтяжку к кнопке подключать.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение rig » 16 июл 2010, 09:07

о землячок!
reset.JPG

так понятно?
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение GHOST_J_D » 16 июл 2010, 09:55

Более мене. Выдержка из текста "короткий полюс не гарантирует генерацию ресета"
Са схеме forum73/topic5677.html
Вход на ресете инвертированый - для это и нужен резистор?
Вложения
сброс.JPG
Я стал таким, каким я стал, сожалеть поздно...
Аватара пользователя
GHOST_J_D
 
Сообщения: 74
Зарегистрирован: 19 апр 2010, 08:38
Откуда: SVERDLOVSK
прог. языки: нелюблю
ФИО: Лёха

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение rig » 16 июл 2010, 10:00

это значит что для срабатывания сброса нужна не единица (не инвертированный), а ноль. тоетсь инвертированный сигнал. резистор просто дает нам гарантию что на ресете всегда будет 1.
не совсем понятно что такое короткий полюс.
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение GHOST_J_D » 16 июл 2010, 10:13

Shorter pulses - из текста на картинке :), всем спасибо разобрался
Я стал таким, каким я стал, сожалеть поздно...
Аватара пользователя
GHOST_J_D
 
Сообщения: 74
Зарегистрирован: 19 апр 2010, 08:38
Откуда: SVERDLOVSK
прог. языки: нелюблю
ФИО: Лёха

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение rig » 16 июл 2010, 10:17

так это не полюс а импульс :)
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Skyline » 24 июл 2010, 18:27

Здравствуйте! Появилась новая проблемка с BASCOM-AVR. В окне программирования нажал на "Clear buffer". Значек программирования стал красным, некоторые фьюзы слетели, в том числе фьюз установки кварца. Вроде фьюзы поставил, начал прошивать, в конце прошивки вылезло окошко "Difference at 00000". Прога в МК зашивается, но не работает. Через не которое время в проге появилось вот это:
Код: Выделить всёРазвернуть
$prog &H00 , &H00 , &H00 , &H00  ' generated. Take care that the chip supports all fuse bytes 

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

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 24 июл 2010, 19:27

Прогер похоже с ошибками читает - надо фьюзы проверить. А перед прошивкой стирание чипа делать.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Skyline » 24 июл 2010, 19:51

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

Пред.След.

Вернуться в Микроконтроллеры

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

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