roboforum.ru

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

Магический кристалл

Ответить

Re: Магический кристалл

GrayHunter » 03 мар 2010, 02:29

Большое спасибо за ответы.
Программу почти дописал (осталось только понять, как сделать "дыхание" светодиодов и как определять вольтаж элементов питания, чтобы отключить светодиоды, если из-за севшего питания светодиоды не смогут ярко гореть)

Скачл Avr Studio 4, но при попытке запустить Setup.exe пишет:
1.png
1.png (9.73 КиБ) Просмотров: 2489

Как его установить-то? Что ему не нравится?
(может быть ему не нравится, что винда загружена через эмулятор под Mac OS? :oops: )

Re: Магический кристалл

Victorovych » 03 мар 2010, 11:28

Попробуй версию постарше

Re: Магический кристалл

EdGull » 03 мар 2010, 14:31

а че не ставишь Си под мак? :wink:

Добавлено спустя 9 минут 41 секунду:
Не может же быть что бы для такой замечательной операционки как Мак не было Си для авр? ;)

Re: Магический кристалл

GrayHunter » 03 мар 2010, 20:39

Всё застопорилось - помогите, пожалуйста:
В AVRStudio пишет 2 ошибки:
C:\MK\1\1.asm(16): error: d00000000: Unknown instruction or macro
C:\MK\1\1.asm(18): error: d00111111: Unknown instruction or macro

Вот та часть кода, где ему не нравятся установки портов:
Код: Выделить всёРазвернуть
ldi Temp,0b00000001
out DDRB,Temp
ldi Temp,0b00000000
out PortB,Temp

ldi Temp,0d00000000
out DDRD,Temp
ldi Temp,0d00111111
out PortD,Temp
Что здесь неправильного? Установки порта B его устраивают, а порта D почему-то нет - почему? :pardon:

И ещё одна важная проблема: чем скомпилировать в .hex? Я пытался найти tavrasm, который РадиоКот советовал, но даже оф. сайт этого компилятора уже не работает. А в CodeVisionAVR я никак не разберусь как именно скомпилировать, такое ощущение, что он ассемблер не понимает.
Вообщем, дайте, пожалуйста, инструкцию и компилятор к ней. А то в Proteus уже настроил всё, а попробовать не могу, т.к. нет .hex

Re: Магический кристалл

Michael_K » 03 мар 2010, 20:46

может потому что вы написали
0d00000000
вместо
0b00000000

:wink: :D

Добавлено спустя 4 минуты:
Авр-студия сама вам сделает хекс, когда вы нажмете билд... Должна.
Или можно посмотреть в проджект-ассемблер опшнс...
вроде бы по умолчанию должен хекс генериться...
по крайней мере как-то не припомню такой проблемы. :pardon:

Re: Магический кристалл

GrayHunter » 03 мар 2010, 21:08

может потому что вы написали
0d00000000
вместо
0b00000000
я думал, что эта буква обозначает порт. Получается, что вне зависимости от порта там должна быть буква b?

Тем не менее, исправив d на b, появились такие странные ошибки:
C:\MK\1\1.asm(11): error: Invalid register
C:\MK\1\1.asm(13): error: Invalid register
C:\MK\1\1.asm(16): error: Invalid register
C:\MK\1\1.asm(18): error: Invalid register
C:\MK\1\1.asm(22): error: Invalid register
C:\MK\1\1.asm(23): error: Invalid register

Вот та часть кода (собственно, начало всего кода программы), где ему не нравятся регистры:
Код: Выделить всёРазвернуть
.include "m8def.inc"  ; подключаем заголовочный файл для ATmega8L-8PU, (ATmega8L-8PI), PbFree PDIP28

.def     Temp=R0
.def     Secret=R1
.def     Voltage=R2


.cseg  ; начало программного сегмента
.org 0  ; задает начальный адрес. В данном случае он = 0

ldi Temp,0b00000001
out DDRB,Temp
ldi Temp,0b00000000
out PortB,Temp

ldi Temp,0b00000000
out DDRD,Temp
ldi Temp,0b00111111
out PortD,Temp
clr Temp  ; очистить регистр Temp, на всякий случай

ldi Secret,1
ldi Voltage,1  ; ещё не доделано...
...и т.д....
Разве я неправильно настроил регистры? :shock: В чём я здесь ошибся?

Re: Магический кристалл

Duhas » 03 мар 2010, 21:12

младшие 16 регистров, а именно R0-R15 не поддерживают операций с непосредственным операндом, как то ldi Temp,0b00000001

присвойте имя Темп регистру 16 и старше...

Re: Магический кристалл

Victorovych » 03 мар 2010, 21:16

Регистры R0..R15 напрямую не могут работать с константами, сделай def temp = r16
0b - binary

Re: Магический кристалл

GrayHunter » 04 мар 2010, 00:22

Большое спасибо - ошибки исправил.
Правла AVR Studio и Proteus моделируют по разному, почему-то (мне так показалось) и оба не так, как я задумал 8)
Вообщем, решил прошить МК и посмотреть кто же из нас троих окажется прав, однако мой старенький простой программатор рассыпался... Решил сделать новый, для USB.

Статью простого, но быстрого USB программатора, что я нашёл, можно прочесть только частично, т.к. сайт тот почему-то не работает.
Итак, доступная часть статьи здесь (чуть выше середины).
А вот важный кусок из неё:
Все изменилось с появлением микросхемы конвертера USB-UART FT232R у которой стал доступен битбанг режим не через виртуальный COM порт, а напрямую через драйвер FTDI. И вот тут наступила нирвана.
В результате, из одной только FTDI получается первоклассный скоростной программатор, прошивающий 16кб прошивки за 10-12 секунд и это вместе с верификацией!!!
А из деталей надо ТОЛЬКО микросхему FT232RL, два конденсатора на 0.1uF и гнездо USB. ВСЕ! Ну и проводочки естественно.
Схема включения получается следующей:

Изображение
добавлено: картинка вдруг пропала :( А у меня осталась только миниатюра:
2.png
2.png (15.37 КиБ) Просмотров: 2323

У кого есть схема побольше? :roll:

Далее прочитать статью не представляется возможным. Поэтому у меня к вам 3 вопроса:
1) есть ли где в Москве USB AVR программатор в пределах 500 руб?
2) рабочая ли это схема (с CodeVisionAVR будет работать?)?
3) правильно ли я понял список необходимых элементов:
- микросхема FT232RL,
- два конденсатора на 0.1uF
- USBA-1J розетка на плату,тип А (4 контакта нормально??)

Re: Магический кристалл

Алексей » 04 мар 2010, 01:00


Re: Магический кристалл

Michael_K » 04 мар 2010, 01:08

Что-то мне кажется что даже фирменный атмеловский (какой-нибудь AVRISP mkII) не больше тысячи стОит в ЭФО :)
Программаторы вообще продаются... относительно дешевые.
Программатор на FTDI - это конечно здОрово, только... что вы будете использовать со стороны компа?

Re: Магический кристалл

GrayHunter » 04 мар 2010, 01:12

Спасибо за ссылку. Картинок, правда, тоже нет, но зато теперь ясно, что я вмдел лишь верхушку айсберга, о который сейчас разбилось моё желание делать новый программатор - слишком муторно в данный момент.

Может быть есть переходник с порта принтера на USB или готовый дешёвый вариант в продаже? Можно названия/ссылки плз?

что вы будете использовать со стороны компа?
CodeVisionAVR, если я правильно понял Ваш вопрос.

Re: Магический кристалл

Michael_K » 04 мар 2010, 01:20

А вы уверены, что он поддерживает программатор собранный на FTDI?

Если у вас есть порт принтера, то вообще в чем проблема?
Паяйте пять проводков :good:

Re: Магический кристалл

GrayHunter » 04 мар 2010, 08:27

Порт принтера на старом компе, который рано или поздно отживёт своё...

Re: Магический кристалл

GrayHunter » 04 мар 2010, 14:27

А переходников с порта принтера на USB (так, чтобы программатор нормально работал) не бывает, насколько я понимаю?


Rambler\'s Top100 Mail.ru counter