Страница 146 из 628

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс янв 16, 2011 16:20:59
ploop
Это AVR
Ассемблер AVRA обе конструкции нормально компилит, не ругается. Вот даташит на тини 2313:

Изображение

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс янв 16, 2011 16:22:00
Engineer_Keen
Первая тоже верная. Только ей и пользуюсь :shock:

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс янв 16, 2011 16:35:30
ploop
Странно... Простая замена второй на первую срывает мозг контроллеру напрочь... Вернул - всё работает...

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс янв 16, 2011 16:42:02
ValBag
ploop писал(а):Это AVR
Ассемблер AVRA обе конструкции нормально компилит, не ругается.
А что "говорит"?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс янв 16, 2011 16:45:53
ploop
Кто говорит? Ассемблер? Чего он скажет, если не одной ошибки и варнинга нет - говорит, что скомпилил 298 байт кода без единой ошибки, и всё :)

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс янв 16, 2011 16:51:10
Engineer_Keen
Тогда нужно скомпилировать авр-студией и сравнить результат. Кстати, какой МК?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс янв 16, 2011 16:53:55
ValBag
ploop писал(а):Кто говорит? Ассемблер? Чего он скажет, если не одной ошибки и варнинга нет - говорит, что скомпилил 298 байт кода без единой ошибки, и всё :)
"Без единой ошибки" - какой результат?. Претензии к чему?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс янв 16, 2011 17:09:21
ploop
Тогда нужно скомпилировать авр-студией и сравнить результат. Кстати, какой МК?
Тини 2313. Студии нет, надо виртуалку ставить (позже сделаю). Работаю под линуксом.
"Без единой ошибки" - какой результат?. Претензии к чему?
Еще раз говорю - уже в железе со второй конструкцией работает, с первой сносит башню контроллеру. В принципе я вторую могу оставить, но в чём причина неработоспособности первой не могу понять...

Если интересно - вывод ассемблера:

Код: Выделить всё

avra -I /home/ploop/project/avr/include/Appnotes "vm.asm" (в каталоге: /home/ploop/project/avr/vm)
Сборка прошла успешно.
AVRA: advanced AVR macro assembler Version 1.2.3 Build 1 (15. November 2007)
Copyright (C) 1998-2007. Check out README file for more info
   AVRA is an open source assembler for Atmel AVR microcontroller family
   It can be used as a replacement of 'AVRASM32.EXE' the original assembler
   shipped with AVR Studio. We do not guarantee full compatibility for avra.
   AVRA comes with NO WARRANTY, to the extent permitted by law.
   You may redistribute copies of avra under the terms
   of the GNU General Public License.
   For more information about these matters, see the files named COPYING.
Pass 1...
Pass 2...
done
Used memory blocks:
   Code      :  Start = 0x0000, End = 0x0094, Length = 0x0095
Assembly complete with no errors.
Segment usage:
   Code      :       149 words (298 bytes)
   Data      :         0 bytes
   EEPROM    :         0 bytes

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс янв 16, 2011 17:09:50
Engineer_Keen
Скрин из авр-студии (тини2313), оба варианта работают. Глюк компилятора?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс янв 16, 2011 17:17:28
ploop
Прошу прощения, сам ступил. Там еще в одном месте с R0 данные перекидывал, вместо рабочего регистра.
Так что avra тоже компилит эти обе конструкции корректно.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс янв 16, 2011 17:29:42
Mr.Denis
Подскажите МК фирмы atmel с 2 USART и 1 USB, такие вообще существуют?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс янв 16, 2011 21:31:21
#DIZEL#
подскажите до скольки максимум выдеживает по напряжению мега8535 подал нечаянно 9 вольт сгорела или нет????
подключаю устройство к программатору пишет отсутствует или неисправно,но у меня почемуто нет в пони прог меги8535 :dont_know:
исть мега8,16 итд.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс янв 16, 2011 22:57:21
AI_Disable
Mr.Denis писал(а):Подскажите МК фирмы atmel с 2 USART и 1 USB, такие вообще существуют?
8-битные:
AT90USB*****
ATmega16U2
ATmega16U4
ATmega32U2
ATmega32U4
ATmega8U2
Ну а 32-битные все подходят под ваши условия.
#DIZEL# писал(а):подскажите до скольки максимум выдеживает по напряжению мега8535 подал нечаянно 9 вольт сгорела или нет????
подключаю устройство к программатору пишет отсутствует или неисправно,но у меня почемуто нет в пони прог меги8535 :dont_know:
исть мега8,16 итд.
По документации 5.5в максимум. Хотя на практике AVR довольно живучи. Как-то раз подал 12 вольт, на мегу8, в течении минуты, нагрелась как утюг, но выжила. Скачайте последнюю версию понипрога, там должны быть все контроллеры. Если не распознает, то не повезло вам...

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн янв 17, 2011 01:17:47
#DIZEL#
спасибо за совет! :)

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн янв 17, 2011 10:51:26
Mr.Denis
AI_Disable
Спасибо за помощь!
Посмотрел даташит, и негде не нашёл что бы было 2 USART и USB!

To ALL
Подскажите где можно купить в москве ATmega16U2 или ATmega16U4?
Бывают ли версии в DIP корпусе?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн янв 17, 2011 13:23:16
Gudd-Head
Mr.Denis писал(а):ATmega16U2 или ATmega16U4?
Бывают ли версии в DIP корпусе?
Смотрите, выбирайте: http://efo.ru/components/atmel/tables/avr.htm

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн янв 17, 2011 13:45:15
Mr.Denis
Gudd-Head
Спасибо за ссылку!
Что-то я там не нашёл ATmega16U2 или ATmega16U4!
Я там с USB нечего не нашёл!

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн янв 17, 2011 15:09:03
AI_Disable
Mr.Denis, USB есть у всех, приведённых мною в пример, контроллеров. USART у некоторых, и правда, всего один. Но в качестве второго можно использовать SPI контроллера.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн янв 17, 2011 23:15:56
Necroteeth
пример в статье http://radiokot.ru/start/mcu_fpga/avr/12/

Код: Выделить всё

MyArray:
.db 1,15,4,9,12,145,67,90
и потом адресация идет с до сих пор непонятным мне умножением на 2:

Код: Выделить всё

ldi ZH,High(Label*2) ;загрузка адреса метки в
ldi ZL,Low(Label*2)  ;регистровую пару Z
подскажите, пожалуйста, если тип данных у нас будет .dw, то код поменяется или нет?

Код: Выделить всё

ldi ZH,High(Label) ;загрузка адреса метки в
ldi ZL,Low(Label)  ;регистровую пару Z
или я неправильно понял концепцию умножения адреса на 2?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вт янв 18, 2011 00:42:50
ploop
У нас есть счетчик команд. При запуске контроллера он начинает тикать. Но тикает 0,1,2,3,4 и т.д., а реальные ячейки ПЗУ, на которые он указывает, идут 0,2,4,8... Просто он считает их по два байта.

Когда в исходном коде мы делаем массив, мы ставим метку. Ну допустим команда rjmp метка сразу заносит адрес метки в счетчик, но как бы поделённый на два, чтоб программа перепрыгнула куда надо. Но нам надо не прыгать туда а извлечь данные, т.е. нужен реальный адрес. Поэтому умножаем.

А .db и .dw лишь указывают компилятору как разместить в памяти наши данные. Например код данные в памяти:

Код: Выделить всё

.db  1, 2, 3, 4
    01 02 03 04

.dw   1,   2,   3,   4
   0001 0002 0003 0004
В последнем случае можно записать числа до 65535, в первом - только до 255, иначе компилятор заругается.