Теория и практика AVR ассемблера.

Обсуждаем контроллеры компании Atmel.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 37346
Зарегистрирован: Чт авг 30, 2012 20:24:40
Откуда: Нижний Новгород

Сообщение Андрей Бедов »

Ой матушки.. Да кто ж заводит Dude с семёрки? Она с XP SP2 дружит... :facepalm:
Реклама
Потрогал лапой паяльник
Сообщения: 345
Зарегистрирован: Пт авг 24, 2012 09:45:40
Откуда: Абакан, Хакасия

Сообщение АндрейАвербах »

Ой, короче капут. Смотрите ниже, самые важные выводы преобразователь ни к чему не подключены :cry:
Изображение
Думаю, мне проще будет купить другую FT232RL и на ее основе сделать нормальный программатор.

Ну, попытался еще раз, подключил плату, создал батник с таким содержимым
C:

cd "avrdude"

avrdude.exe -p tn13A -c ftbb -P ft0 -e -U flash:w:"C:\AssemblerApplication5.hex":i
pause=null
Сохранил на диске C, запустил, пишет
Изображение
Реклама
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Сообщение blackx »

Андрей Бедов, может хватит уже писать, ради того, чтобы написать? Тут и без ваших сообщений хорошо.

АндрейАвербах, для программирования с помощью битбанга ft232rl обычная дудка не подходит. Avrdude из основной ветки до сих пор не поддерживает такой тип программаторов, уже третий год баг открыт:

http://savannah.nongnu.org/bugs/?30559

Нужен патченный avrdude. Ищите на easyelectronics, в статье про программатор на ft232rl был такой.

Удачи в сборке программатора! :solder:
Изображение only pure true norwegian blackx Изображение
Потрогал лапой паяльник
Сообщения: 345
Зарегистрирован: Пт авг 24, 2012 09:45:40
Откуда: Абакан, Хакасия

Сообщение АндрейАвербах »

Спасибо, blackx! :)
Кстати, чем лучше разводить дорожки лаком на ПП: иголкой или зубочисткой?
Ибо, до сих пор разводил плату рейсфедером.
ЗЫ Лазерный утюг не предлагать, нет у меня лазерника.

Патченный avrdude вот отсюда? http://easyelectronics.ru/skorostnoj-av ... llera.html

И еще, решил я еще раз наскочить на прерывания. На этот раз я решил попробовать таймер/каунтер на тини13а.
Написал прогу.
.include <tn13Adef.inc>
.dseg
.cseg
.org 0x0000 ;вектора прерываний
rjmp Reset
.org 0x0002
rjmp EXT_INT0
.org 0x0004
rjmp PCINT
.org 0x0006
rjmp TIM0_OVF
.org 0x0008
rjmp EE_RDY
.org 0x000A
rjmp ANA_COMP
.org 0x000C
rjmp TIM0_COMPA
.org 0x000E
rjmp TIM0_COMPB
.org 0x0010
rjmp WATCHDOG
.org 0x0012
rjmp ADC_

;Reset:
EXT_INT0:
PCINT:
;TIM0_OVF:
EE_RDY:
ANA_COMP:
;TIM0_COMPA:
TIM0_COMPB:
WATCHDOG:
ADC_:
RETI
;********************************* обработчик прерываний
TIM0_COMPA:
TIM0_OVF:
ldi R16, 0
out TCNT0, R16
RETI
;********************************* основная прога
Reset:
ldi R16, low (ramend) ;настройка стека
out SPL, R16
ldi R16, 0b111111 ;настройка портов
out DDRB, R16
ldi R16, 0x06 ;разрешение прерываний компаратора
out TIMSK0, R16
ldi R16, 0b00000001 ;выбор частоты счетчика
out TCCR0B, R16
ldi R16, 0x02 ;число для сравнения
out OCR0A, R16
ldi R16, 0 ;обнуление таймера
out TCNT0, R16

sei ;глобальное разрешение прерываний

m: nop ;основной цикл
nop
nop
nop
nop
nop
rjmp m
И не удивляйтесь, что на обработчик прерываний ведут две метки, дело вот в чем.
История этой программы.
Часть программы взять с сайта easyelectronics, а часть с нашего Радиокота, а часть вообще, из даташита. Потом все аккуратненько перемешивается и оптимизируется под себя.
Работа программы.
Ну, сначала все норм, стек, настройка портов и т.п., но только доходим до основного цикла начинаются странности.
Таймер считает свои два такта, как ему и положено, но потом переходит не на TIM0_COMPA, а на TIM0_OVF.
Вопрос: почему?
Реклама
Эиком - электронные компоненты и радиодетали
akl
Друг Кота
Сообщения: 4468
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

Сравните Ваши адреса прерываний с адресами из DS на ATtiny13
СпойлерИзображение
Реклама
Потрогал лапой паяльник
Сообщения: 345
Зарегистрирован: Пт авг 24, 2012 09:45:40
Откуда: Абакан, Хакасия

Сообщение АндрейАвербах »

Спасибо, надоумили. :)
Но остальные вопросы в силе :)
Реклама
akl
Друг Кота
Сообщения: 4468
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

Попробуйте так и почувствуйте разницу.
Спойлер

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

.include <tn13Adef.inc>
.dseg
.cseg
.org 0x0000 ;вектора прерываний
rjmp Reset
;.org 0x0002
;rjmp EXT_INT0
;.org 0x0004
;rjmp PCINT
.org 0x0003
rjmp TIM0_OVF
;.org 0x0008
;rjmp EE_RDY
;.org 0x000A
;rjmp ANA_COMP
.org 0x0006
;rjmp TIM0_COMPA
;.org 0x000E
;rjmp TIM0_COMPB
;.org 0x0010
;rjmp WATCHDOG
;.org 0x0012
;rjmp ADC_

;********************************* обработчик прерываний
TIM0_COMPA:
	NOP
TIM0_OVF:
ldi R16, 0
out TCNT0, R16
RETI
;********************************* основная прога
Reset:
;ldi R16, low (ramend) ;настройка стека
;out SPL, R16
	ldi R16, 0b111111 ;настройка портов
	out DDRB, R16
	ldi R16, 0x06 ;разрешение прерываний компаратора
	out TIMSK0, R16

	ldi R16, 0x80 ;число для сравнения
	out OCR0A, R16

	ldi R16, 0b00000001 ;выбор частоты счетчика
	out TCCR0B, R16

	LDI	ZH,0
;ldi R16, 0x02 ;число для сравнения
;out OCR0A, R16
;ldi R16, 0 ;обнуление таймера
;out TCNT0, R16

sei ;глобальное разрешение прерываний

m:
 nop ;основной цикл
;nop
;nop
;nop
;nop
;nop
rjmp m
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

АндрейАвербах, на Ваших скриншотах ничего не видно. Либо делайте их крупнее, либо просто копипастите из консоли.

Вот так должен выглядеть скрин:

Изображение

А вот так из него копируется текст:

Изображение

Потом выделяете мышкой:

Изображение

И жмете Enter. Потом вставляете в свой любимый текстовый редактор.

Изображение

Или сразу постите на форум:

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


D:\mc>cd FTBB

D:\mc\FTBB>progm48 D:\mc\prj\C\sdcard_spi\default\sdcard_spi.hex

D:\mc\FTBB>avrdude.exe -p m48 -c ftbb -P ft0 -e -U flash:w:D:\mc\prj\C\sdcard_spi\default\sdcard_spi.hex:i

avrdude.exe: ft0 open failed

D:\mc\FTBB>pause  1>null
Понятно, что текстом гораздо лучше - экономится трафик, место на сервере. Да и читабельнее, нет проблем с масштабированием.
Кстати, чем лучше разводить дорожки лаком на ПП: иголкой или зубочисткой?
Боюсь, что ни тем, ни другим Вы плату для FT232 не нарисуете...
Патченный avrdude вот отсюда? http://easyelectronics.ru/skorostnoj-av ... llera.html
Вы статью-то ту читали? Там же все написано. И про то, что обычная дудка не подходит, и про то, откуда брать патченный... Для чего я Вам эту ссылку давал? :)
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Потрогал лапой паяльник
Сообщения: 345
Зарегистрирован: Пт авг 24, 2012 09:45:40
Откуда: Абакан, Хакасия

Сообщение АндрейАвербах »

akl, я так и сделал, все работает.
YS,
Боюсь, что ни тем, ни другим Вы плату для FT232 не нарисуете...
Ну, глаза еще есть, слава Богу. Но руки временами потрясываются(12 лет). Ладно, в среду(четверг) мне мама микру купит, а там попытаюсь плату иголочкой развести, на заводское изготовление, конечно, претендовать не будет, но все же...
Но, вот как я ее паять хочу, вам покажется странным.
Паять я ее буду жалом специфичной формы, короче, берется жало медное обыкновенное. И затачивается напильником под... как сказать то лучше, одним словом ширина остается как есть, но вот толщину сводим к 1-2 мм. Кончик делаем острый-преострый. Ну, как-то так.
ЗЫ Статью читал, скачал себе патченную дудку.
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

Ну, глаза еще есть, слава Богу. Но руки временами потрясываются(12 лет).
Ну, я-то тоже не старик. :) И тоже проходил через все эти этапы - рейсфедер, процарапанный скотч, ЛУТ. :)

ОК, скажем так. Из опыта, я бы не стал рисовать плату для микросхемы в корпусе SSOP-28 руками. :)

Купите лазерный принтер. Если собираетесь заниматься серьезно, он очень пригодится. Да и по прямому назначению экономичнее, чем струйный...

Если есть струйный, можно изначально поднять фоторезистивную технологию.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Потрогал лапой паяльник
Сообщения: 345
Зарегистрирован: Пт авг 24, 2012 09:45:40
Откуда: Абакан, Хакасия

Сообщение АндрейАвербах »

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

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

Я, разводя плату рейсфедером, добивался толщины дорожек в 1-1,5мм, но это при желании.
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

Я, разводя плату рейсфедером, добивался толщины дорожек в 1-1,5мм, но это при желании.
Вполне реальные цифры. Только вот для того, чтобы запаять FT232, надо рисовать дорожки шириной 0.4 мм с расстоянием между ними 0.65 мм с допуском 0.02 мм. 14 с одной стороны, 14 с другой. Это если в SSOP-28. С корпусом QFN все еще суровее - его еще и паять сложно.
Ну, а прямо иголкой вы платы пробовали разводить? Если да, то какую толщину дорожек удавалось получить?
О-о-о, это было слишком давно. Боюсь, я уже не найду тех плат, чтобы померять. :)
Сейчас все никак не соберемся отдать принт в ремонт.
Дешевле будет купить новый. А если новый лазерный - еще и полезнее.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Потрогал лапой паяльник
Сообщения: 345
Зарегистрирован: Пт авг 24, 2012 09:45:40
Откуда: Абакан, Хакасия

Сообщение АндрейАвербах »

Эх, если б все было так радужно :)
На дворе у нас 2013 год, а значит и кризис :(
И эта сочинская олимпиада, на которую уходят все деньгигосударства народа, додуматься же, строить в городе-курорте объекты для ЗИМНЕЙ олимпиады.

Ладно, в общем попробую иголочкой развести. Попытка - не пытка.
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

Ладно, в общем попробую иголочкой развести. Попытка - не пытка.
Я бы скотчем спробовал.

Наклеиваете на плату скотч, и прорезаете скальпелем контуры дорожек, потом лишнее снимаете.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Сообщение SmarTrunk »

Я рисовал специальным маркером. Шаг ножек 1,25 рисуется несложно, но это край. Спичкой или иголкой, боюсь, не выйдет.
Потрогал лапой паяльник
Сообщения: 345
Зарегистрирован: Пт авг 24, 2012 09:45:40
Откуда: Абакан, Хакасия

Сообщение АндрейАвербах »

Вот, вытравил платку, развел иголкой от шприца, но там тоже свои тонкости и условности.
Для сравнения с 10-копеечной монетой
Изображение
И крупным планом
Изображение
ЗЫ SMD паяю первый раз
ЗЫ2 Скотчем пробовал, но то-ли резак затупился, то-ли скотч не хочет резаться, вырывался какими-то треугольниками.
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Сообщение blackx »

YS писал(а):Я бы скотчем спробовал.
А я бы попробовал попросить родителей сберечь мне здоровье и нервы и заказать у китайцев переходник SSOP28 - DIP28, он стоит копейки. Правда придется месяц ждать. Такой можно и в магазинах найти, если хорошо искать :)

Вот например, 10 переходников за 150 рублей, доставка - бесплатно:
http://www.aliexpress.com/item/HOT-SALE ... 08271.html
Изображение only pure true norwegian blackx Изображение
Потрогал лапой паяльник
Сообщения: 345
Зарегистрирован: Пт авг 24, 2012 09:45:40
Откуда: Абакан, Хакасия

Сообщение АндрейАвербах »

Ну, есть три причины:
1. Мама не любит покупок через интернет (типа одни мошенники на каждом углу)
2. До нашего захолустья это будет идти не месяц, и не два(я так думаю, захолустьем является город Абакан)
3. Хочется самому попытаться развести плату для такой мелочи

Пришел в магазин, и... обломчик вышел. Нет у них FT232RL, не заказывали. Я пораскинул мозгами, вспомнил, что в какой-то статье я видел замену данной микре на max232, взял ее.
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

А я бы попробовал попросить родителей сберечь мне здоровье и нервы и ...
... купить лазерный принтер.

Чесслово, это самый нормальный вариант.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Потрогал лапой паяльник
Сообщения: 345
Зарегистрирован: Пт авг 24, 2012 09:45:40
Откуда: Абакан, Хакасия

Сообщение АндрейАвербах »

Ладно платы и так развести можно, нету того, чем ПРОГРАММИРОВАТЬ микроконтроллер :cry: :cry: :cry: :shock: :o
И это самое ужасное...

Порылся в инете, оказывается, кроме ft232rl существуют еще преобразователи интерфейса, это радует :)
Но я не могу понять вот эту схему http://radiokot.ru/circuit/digital/pcmod/05/11.gif
Может мне кто-нибудь дать ее в целом виде, а то много так проводников :?
И смогу-ли я на следующих микросхемах сделать программатор для avr со скоростью работы как вот здесь http://easyelectronics.ru/skorostnoj-av ... llera.html ?
Микросхемы:
FT232BM
TUSB3410
PL2303
Последний раз редактировалось АндрейАвербах Вт май 28, 2013 16:02:47, всего редактировалось 2 раза.
Ответить

Вернуться в «AVR»